Learn the Skills You Need...

  • Algorithm design and data management skills
  • Problem analysis and a systematic approach to problem solving
  • The operation and organization of computer hardware and software
  • Essential tools for the analysis and evaluation of algorithms, data structures, languages, and systems

...For the Future You Want

  • Graduate studies
  • Scientific applications
  • Software design
  • Graphics and games programming

Core

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. 

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

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

SpringYearly4 CreditsNPrerequisites: CS110 and MA116 or MA210. 


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. 

SpringYearly2 CreditsNPrerequisites: CS110 and Sophomore standing and permission. 


CS-255U  Unix Programming

The students will prepare a portfolio of basic Unix programs and scripts. The course covers basic Unix commands, editing techniques, regular expression usage, and script building. The programs are reviewed, critiqued, and the student has an opportunity to revise them as needed for final inclusion in the portfolio. 

Fall & SpringYearly1 CreditsN,CTGESPrerequisites: CS110. 


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. 

SpringYearly3 CreditsNPrerequisite: CS240. 


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. 

Either SemesterOdd Years4 CreditsCW,NPrerequisites: CS240 and MA116. 


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. 

FallEven Years3 CreditsNPrerequisites: IT240 or CS240. 


CS-320  Operating Systems

An introduction to the theory, evaluation, and implementation of computer operating systems. Topics include memory, process and resource management, elementary Queuing and network models, and scheduling. 

SpringEven Years4 CreditsNPrerequisites: CS220 & CS240. 


CS-362  Languages and Translation

A systematic approach to the study and analysis of computer programming languages. The procedural, functional, object- oriented and logical language paradigms are examined through the use ofrepresentative languages. Syntax and semantics issues are emphasized through the study of translation techniques in formal labs and group projects. 

Either SemesterOdd Years4 CreditsNPrerequisites: CS220 and CS240. Must have Junior or Senior standing. 


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. 

FallYearly3 CreditsN,CTGISPrerequisites: 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. 

Fall & SpringYearly1 CreditsNPrerequisites: Junior or senior standing and CS220 or CS240 or IT210. 


IT-210  Information Technology Systems

This course introduces students to three core areas in Information Technology: networks, database and web. The course progresses through two phases during its study of modern IT environments. Initial study includes all the necessary components of today's IT system environment and its use in business. Secondly, students use a server based database development environment to create an IT system. 

FallYearly4 CreditsNPrerequisites: CS110. MA116 strongly recommended. 


IT-307  Project Management

This course reviews and applies project management processes and techniques such as project life cycle, project selection methods, work breakdown instructions, network diagrams, cost estimates, and more. 

VariableYearly3 CreditsS,CW,CS,SW-LEPrerequisites: IT210 and Jr or Sr standing or permission of the instructor. Corequisite: IT308. 


IT-308  Innovations for Industry I

This lab will require a team of students to function as a project development team for an IT- related business. The students will be exposed to many aspects of systems analysis, design, development and implementation, as well as project management tools and techniques. Students will be required to learn in a just-in-time mode using on-demand educational resources. 

Fall & SpringYearly1 CreditsSPrerequisites: IT210 and Jr or Sr standing or by permission of the instructor. Corequisite: IT307. Note: This course will have appointed class times for projects other than the times listed on the schedule. 


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.

FallYearly4 CreditsN, QPre-requisite high school algebra.


MA-130 Calculus I

An introduction to calculus including differentiation and integration of elementary functions of a single variable, limits, tangents, rates of change, maxima and minima, area, volume, and other applications. Integrates the use of computer algebra systems, and graphical, algebraic and numerical thinking.

Fall & SpringYearly4 CreditsN, QM


MA-220 Introduction to Probability & Statistics

An introduction to the basic ideas and techniques of probability theory and to selected topics in statistics, such as sampling theory, confidence intervals, and linear regression.

Fall & SpringVariable4 CreditsN, QS, CTGESPrerequisite: MA130

Total 56 with 18 upper level credits

 

Elective Courses

Choose 6-7 credits from the following list of elective courses to complete Computer Science POE:

MA-210 Foundations of Mathematics

An introduction to the logical and set-theoretic basis of modern mathematics. Topics covered include propositional and predicate logic; induction; naive and axiomatic set theory, binary relations, mappings, infinite sets and cardinality; finite sets and combinatorics; and an introduction to the theory of computability. Students will learn to read and to express mathematical ideas in the set-theoretic idiom.

FallYearly3 CreditsCWPrerequisites: MA160 or MA116 or PL208 or MA208 or permission of the instructor.


MA-233 Integrals Series & Differential Equations

Integration, Taylor and Fourier series, and an introduction to differential equations, with applications and the use of the software package Maple. (Course meets four times per week and concludes at midterm.)

FallYearly2 CreditsNNote: A student may receive credit for MA233 or MA235, but not for both. Prerequisite: MA130.


One of CS 255X

CS-255B  COBOL 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. 

SpringYearly2 CreditsNPrerequisites: CS110 and Sophomore standing and permission. 

CS-255F  FORTRAN Programming

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

SpringYearly2 CreditsNPrerequisites: CS110 and Sophomore standing and permission of instructor. 

CS-255P  Perl Programming

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

SpringYearly2 CreditsN,CTGESPrerequisites: CS110 and Sophomore standing and permission. 

CS-255R  Ruby Programming

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

SpringYearly2 CreditsNPrerequisites: CS110 and Sophomore standing and permission. 


IT-325  Network Design & Management.

Focuses on the concept of the foundations of a network in both design and support. The OSI reference model will be examined along with techniques for supporting current technologies that align with each other. Emphasis will be placed on protocols, topologies and traffic analysis. 

SpringYearly4 CreditsNPrerequisites: CS240 or IT210. 


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. 

SpringEven Years3 CreditsNPrerequisites: CS240. Corequisite: CS255C. 


CS-340  Numerical Analysis

See MA340.

SpringEven Years3 CreditsQM,N 


CS-485  Computer Science Research

Allows students to carry out the independent computer science research project as designed in CS480 or CS481. 

Fall & SpringYearly3-5 CreditsN,CWPrerequisite: CS480 or CS481. 


PC-209


IT-110  Principles of Information Technology

This course provides a context for further study in information technology. Topics include an overview of the fundamentals of information systems, current and emerging technologies, business applications, communications and decision making, and the impact of these systems on business, government, and society. This course will also emphasize the development of both writing and speaking skills through application of the concepts that define the course. Students who have passed IT-111 or IM-110 may not take this course.

Fall & SpringYearly3 CreditsS 

-- OR --

IT-111  Principles of IT Science

An introduction to concepts of information and the " Information Age " . Students will develop an understanding of basic computing and information systems principles and the social implications of information and information technology. The course also provides an overview on the creation, organization, analysis, storage, retrieval, and communication of information. The instruction incorporates both collaborative and action learning experience. (Students who have passed IT110 may not take this course. The meeting time reflects half of the time of the class, where the rest is on line and completed by assignments). IT111 is equated to IM110 and IT110. If you've taken IM110 or IT110 and then register for IM111, it will show as a repeat on your transcript.)

Fall & SpringYearly3 CreditsN,CTGIS 


IT-260  Human Computer Interaction

To users of any system, the interface is what they see and think of as the computer. Interaction with a computer can be better defined in terms of interface, as any part of the computer system that the user comes in contact with, either physically, perceptually, or conceptually. Human interaction with computers can be studied, designed, evaluated, with the goal being to produce usable products from a human-centric perspective. 

SpringYearly3 CreditsSPrerequisites: CS110. 


IT-341  Web Design

A study of modern web design along with an examination of markup and scripting languages (e.g., HTML, JavaScript), page, image and multimedia formats, and the techniques in developing and managing a web site. Page design, graphical user interfaces, interactive techniques and the importance of e-commerce are also emphasized. 

FallYearly2 Credits Prerequisites: CS110 or permission.

-- OR --

IT-342  Web Programming

A study of the modern web programming environment, including introduction to Web 2.0 and Web 3.0, HTML, XHTML, and JavaScript. The class will address client-side scripting as well as server-side technology, and accessing a database. These technologies will be combined to create an active, dynamic web page. 

FallYearly2 Credits Prerequisite: CS-240. Corequisite: IT-341. 


IM-242  Info Visualization

This course considers the various aspects of presenting digital information for public consumption visually. Data formats from binary, text, various file types, to relational databases and web sites are covered to understand the framework of information retrieval for use in visualization tools. Visualization and graphical analyses of data are considered in the context of the human visual system for appropriate information presentation. Various open-source and commercial digital tools are considered for development of visualization projects. 

FallVariable3 CreditsN,CTDH,CTGESPrerequisite: IT 110, IT 111, IM 110, DS 110, or CS 110 or permission. 

Total POE credits = 62 or 63
The department may approve up to 7 credits of substitute courses for the core and/or electives.

Rationale

A program in computer science requires a broad range of skills, some as general as problem analysis and problem solving, others more technical, such as programming and data management. The core of the computer science POE is designed to promote the development of these skills. In addition to emphasizing mathematical techniques appropriate to "number crunching" the mathematics courses, also encourage a systematic approach to problem solving and become essential tools for the analysis and evaluation of algorithms, data structures, languages, and systems. The lower division course reinforce problem solving while also developing algorithm design and data management skills and providing knowledge of the operation and organization of computer hardware and software.

With this foundation, one can then pursue greater specialization, tailoring the program toward scientific applications, software design, systems analysis, or preparation for graduate studies. The requisite skills and relevant courses for these options vary somewhat and should be chosen in consultation with an appropriate advisor.

Example of Normal Progression
  Fall Spring
Freshman MA 116,Discrete Structures
CS 110, Computer Science I
CS 240, Computer Science II
MA 130, Calculus I
IT 110, Principles of Information Technology
Sophomore CS 220, Computer Organization
CS 305, Software Models

MA 220, Introduction to Probability & Statistics
CS 255C, C++ Programming
IT 210, IT Systems

Junior CS 315, Algorithms & Analysis (or senior year)
CS alternating offering (e.g., Operating Systems)
CS 370, Database Management

IT 308, Innovations for Industry I
IT 307, Project Management
CS 300, Software Engineering

Senior CS 315, Algorithms & Analysis or elective
CS alternating offering (e.g., Operating Systems or Languages and Translation)
CS Seminar I
CS elective
CS elective (e.g., CS Research)
Example Late Progression
  Fall Spring
Freshman    
Sophomore MA 130, Calculus I
MA 116, Discrete Structures
CS 110, Computer Science I
CS 240, Computer Science II
IT 110, Principles of Information Technology
MA 220, Introduction to Probability & Statistics
Junior CS 220, Computer Organization
CS 315, Algorithms & Analysis*
CS L&T or Operating Systems
IT 308, Innovations for Industry I
IT 307, Project Management
CS 300, Software Engineering
CS/MA elective
Senior Seminar I
CS 305, Software Models
CS 370, Database Management
CS 255C, C++ Programming
CS elective
CS elective

*Note: In the late progression, Computer Organization may serve as a corequisite rather than a prerequisite for upper level courses taken fall of the junior year.

Computer Science Secondary Emphasis