To claim a solid background in computer science (as opposed to computer programming), a student needs software design experience, an understanding of the computer hardware and a background in the mathematical basis of computer science. The study of algorithms and computational structures provide a more complete understanding of the science itself.


CORE COURSES

Take the following courses:

CS-110  Computer Science I

An introductory study of computer science software development concepts. Python is used to introduce a disciplined approach to problem solving methods, algorithm development, software design, coding, debugging, testing, and documentation in the object oriented paradigm. This is the first course in the study of computer science. 

3 CreditsN,CTGES,CTGISRecommended programming experience or IT110 or IT100, IT111 or IM110 or MA103 but not necessary. 

CS-240  Computer Science II

A continued study of computer science foundations as begun In Computer Science I. An object-oriented language such as JAVA is used to develop and implement large programs involving various data structures and data abstraction as exemplified by packages and modules. Search, sorting, advanced data structures, programming methodology and analysis are emphasized. 

4 CreditsNPrerequisites: CS110 and MA116 or MA210. 

CS-220  Computer Organization

An introduction to digital computer systems including a treatment of logic and digital circuits, data representation, device characteristics and register transfer notation covered in a manner that stresses application of basic problem solving techniques to both hardware and software design. Students gain experience programming in an assembly language to reinforce these systems and design concepts. 

4 CreditsNPrerequisites: CS110.

CS-480  Computer Science Seminar I

Discusses current advances in computer science and information technology not otherwise covered in our program such as, but not limited to, networking, artificial intelligence, societal issues. In addition this course allows senior students to plan an individual research project to be completed in CS485. This course, taken by a junior may be repeated as a senior as CS481. 

1 CreditsNPrerequisites: Junior or senior standing and CS220 or CS240 or IT210. 

MA-116 Discrete Structures

Introduces mathematical structures and concepts such as functions, relations, logic, induction, counting, and graph theory. Their application to Computer Science is emphasized.

4 CreditsN, QPre-requisite high school algebra.


Take one of the following courses:

CS-315  Algorithms and Analysis

The study and analysis of algorithms, their complexity and supporting data structures. Topics include searching, sorting, mathematical algorithms, tree and graph algorithms, the classes of P and NP, NP-complete and intractable problems, and parallel algorithms. 

4 CreditsCW,NPrerequisites: CS240 and MA116. 

CS-330  Computer Graphics

An introduction to both the hardware and software utilized in computer graphics. The emphasis is on a top-down, programming approach, using a standard application programmer's interface. Students will create three-dimensional and interactive applications, in addition to studying several of the classic, low-level, rendering algorithms. 

3 CreditsNPrerequisite: CS-240.


Take one of the following courses:

CS-300  Software Engineering

An introduction to the issues of software design. Topics include software engineering, software project management and development of projects in a modern design environment. The focus of the course is on the process used to develop quality software. The students work in teams to develop, implement and fully document a computer project to apply these concepts. 

3 CreditsNPrerequisite: CS240. 

CS-370  Database Management Systems

Focuses on concepts and structures necessary to design and implement a database management system. Various modern data models, data security and integrity, and concurrency are discussed. An SQL database system is designed and implemented as a group project. 

3 CreditsN,CTGISPrerequisites: CS110. 


Take one upper-level CS-Computer Science elective.


Secondary Emphasis Credit Total = 18

Six credits must be at the 300/400-level.  Any course exception must be approved by the advisor and/or department chair.