About

Why should I major in computer science?

Computer science is the study of computers and their application to everyday life. Computers have become an indispensable part of our world, and opportunities for computer science majors in fields such as manufacturing, communication, finance, engineering, e-commerce and medicine are increasing at an exponential rate. Computer science offers challenging career choices that stimulate both creativity and intellect. Graduates with a computer science degree from the University of Pikeville can be assured of excellent compensation, continued growth, many advancement opportunities and the prospect of designing and implementing something that could truly change the world.

What can I do with a computer science degree from the University of Pikeville?
Computer scientists are interested in representing information, modeling problems and structured thinking. Graduates learn to be general-purpose problem solvers and critical thinkers. Persons who study computer science can end up performing such diverse tasks as developing computer system hardware or software, planning and installing communication networks, or managing information for businesses. Computer science is a rapidly evolving field, and those who choose to pursue it are in store for an exciting life of learning as the explosive growth of the Internet and other innovations continuously reinvent technology. Because of the pervasive nature of computer science, those who choose it as a profession are directly contributing to the well being and continued growth of society.

Computer Science at the University of Pikeville
The computer science program is part of the Division of Mathematics and Natural Sciences. The major in computer science combines a liberal arts education in the areas of science and mathematics and a flexible curriculum of courses in computer science. Students will develop an understanding of the concepts and applications of computer systems.

Computer Science Degree Options
Bachelor of Science (B.S.) or Bachelor of Arts (B.A.)
Computer Science Careers
College Professor
Computer Programmer
Computer Trainer
Consultant
Desktop Publisher
Game Designer
Graphic Designer
Information Technologist
Network Administrator
Quality Assurance Technician
Researcher
Systems Analyst
Technical Support Specialist
Technical Writer
Webmaster

 

Courses

CS 101 Computer Literacy
For students who have no background in computers; this course discusses basic components and terminology of computers and provides hands-on work with a computer operating system, word processing, spreadsheets, and databases. Prerequisites: MTH 098 and RED 098, or placement beyond. Cannot be used toward computer science major or minor. Cannot be taken if student has already passed CS 105 or its equivalent

CS 109 Introduction to Computer Science
A breadth-based survey of computer science. Topics to be covered include computer basics, the Internet, history of computers, algorithms and data representation, introductory computer architecture, ethics and computer in society. About half of the course will involve simple programming in a high level language (e.g. JavaScript) Prerequisites: MTH 098 and RED 098, or placement beyond.

CS 170 Digital Imaging
This course is a study in how computers can be used to create and manipulate images. Students will learn how to use image editing software to edit images. Students will also learn how some of these tasks are performed by writing programs in a high level language to modify images as well. Prerequisites: MTH 098 and RED 098 or placement beyond.

CS 221 Object-Oriented Programming
An introduction to programming using a high-level object-oriented programming language. Topics will include fundamental data types, flow of control, classes and objects, methods and functions, and inheritance. A structured lab component will provide experience with typical software development tools: editor, compiler/linker, and symbolic debugger. Prerequisites: CS 109 and MTH 111 or placement beyond, or CS 170 and MTH 111 or placement beyond, or MTH 121.

CS 222 Three-Dimensional Programming
A continuation of CS 221, with applications aimed at graphical and three dimensional programming. Practices in object-oriented design will be further developed. The structured lab component will provide substantial practice with modern graphical programming tools and increased use of program development tools. Prerequisite: CS 221.

CS 280 Programming Language
An in-depth study of a particular programming language such as ADA, C, COBOL, FORTH, FORTRAN, LISP, PROLOG, RPG, Smalltalk, or X-Windows. Frequency of offering and language covered will vary according to demand. May be taken for credit any number of times, provided that a different language is studied each time, but only 3 credits may be used toward a Computer Science major.

CS 290 Special Topics
A study of selected topic of special interest. The topic may differ each time the course is offered and may be proposed by either the instructor or students. This course may be taken for credit any number of times, provided that a different tipic is studied each time. Prerequisites: Computer Science major and consent of the Instructor.

CS 299 Directed Individual Study
A student of sophomore status or above may pursue special studies in computer science based on the interest and needs of the individual. Prerequisite: Permission of the Instructor, Division Chair, and Dean of the College of Arts and Sciences.

CS 320 Introduction to Numerical Methods
Algorithms for the solution of numerical problems implemented on microcomputers; includes discussion of error, polynomial interpolation, solution of nonlinear equations, and numerical integration. Prerequisites: MTH 222 and either CS 112 or CS 221. Cross-listed as MTH 320.

CS 330 Machine Organization
A survey of the internal architecture and operating principles of digital computers. Prerequisites: CS 109, CS 221, CS 222, and MTH 251

CS 350 Data Structures
A study of structures used for manipulating data, and their efficient creation and processing. File structures and their uses are also covered, as well as an introduction to the study of algorithms. Prerequisites: Grade of “C” or better in CS 222, and MTH 251.

CS 355 Algorithmic Analysis
Introduction to techniques to support the design and analysis of algorithms, focusing on both the underlying mathematical theory and practical considerations of efficiency. Topics include asymptotic complexity bounds, techniques of analysis, and an introduction to automata theory and computability theory. Prerequisite: Grade of “C” or better in CS 350.

CS 360 Database Analysis
Design, organization and manipulation of data bases, including the design of data items and records. Data base management systems are surveyed and cases are examined in details of data insertion and retrieval. Prerequisite: CS 350.

CS 380 Principles of Programming Languages
Survey of several programming languages: historical, current, special-purpose, and experimental. Emphasis on comparison of language features, implementation techniques, selection of appropriate language for a given application. Prerequisites: CS 221 and CS 222.

CS 410 Operating Systems
A study of operating systems with respect to scheduling, program initiation, memory allocation, CPU allocation, and input/output control. Prerequisites: CS 330 and CS 350.

CS 420 Compiler Design
Study of compilers-translators of a high level language to assembly language or machine language. Theory and efficient implementation methods are covered. Various types of grammars are discussed. Several components of a simple compiler are implemented. Prerequisite: Grade of “C” or better in CS 355.

CS 430 Parallel Programming
An introduction to parallel processing hardware and programming. Topics will include computer cluster construction and operation, writing simple parallel programs for execution on a computer cluster, and writing multi-threaded programs for execution on a single- or multi-core processor.. Prerequisites: CS 222.

CS 480 Senior Project
The capstone course in Computer Science. Class meets for two hours per week at the beginning of the term, then down to once a week (or less often) after midterm. Classroom time is on the study of software engineering; the remainder of the time is for students to develop and write a program of suitable complexity decided upon the student and the professor. Prerequisites: CS 355 and Senior Standing.

CS 490 Special Topics
A study of a selected topic of special interest. The topic may differ each time the course is offered and may be proposed by either the instructor or students. This course may be taken for credit any number of times, provided that a different topic is studied each time. Prerequisites: Junior or senior standing, Computer Science major, and consent of the Instructor.

CS 499 Directed Study in Computer Science
A student of junior or senior status may pursue special studies in the field of computer science. Prerequisites: Permission of the Instructor, Division Chair, and Dean of the College of Arts and Sciences.
Faculty

Name: John Cade
Title: Professor of Mathematics/Computer Science
Email: JohnCade@upike.edu
Phone: 606.218.5473
Office: Armington 204

Name: Bernadine Cochran
Title: Associate Professor of Mathematics/Computer Science
Email: BernadineCochran@upike.edu
Phone: 606.218.5463
Office: Armington 207

Name: Howard Francis
Title: Associate Professor of Mathematics/Computer Science
Email: HowardFrancis@upike.edu
Phone: 606.218.5465
Office: Armington 209

Name: Brit Potter
Title: Visiting Instructor of Computer Science
Email: BritPotter@upike.edu
Phone: 606.218.5570
Office: Armington 208

VIRTUAL TOUR

Virtual Tour
There has never been a better time to be a UPIKE Bear! APPLY NOW
UPike Tigers