To claim knowledge of computer programming, one should have experience in two or more high level languages and also have gained a fundamental understanding of the machine and its organization. In addition, those intending to program in any realistic environment will need a background in larger software systems as covered in Software Design or Database Management Systems.


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-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-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. 

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.


PROGRAMMING CORE

Take the following course:

CS-255C   C++ Programming

The students will prepare a portfolio of computer programs written in the language. The programs are reviewed, critiqued, and then the student has an opportunity to revise them as needed for final inclusion in the portfolio. 

2 CreditsNPrerequisites: CS110 and Sophomore standing and permission. 


UPPER-LEVEL COMPUTER SCIENCE CORE

Take one of the following courses below:

CS-305  Software Models

A study of current software implementation models. Models of procedural based control for both batch and interactive settings, event driven control, real time control and exception handling are considered within representative interactive development environments such as .NET Design of graphical user interfaces for web-based and windows-based applications are integrated into the team projects. 

3 CreditsNPrerequisites: IT240 or 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 an additional 300 or 400 level CS - Computer Science course.


Secondary Emphasis Credit Total = 23

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