Curriculum - Associate’s Degree in Computer Science


Individual courses are the building blocks of each degree program. Course requirements are structured to ensure that student study encompasses a broad range of topics and approaches, with an appropriate balance maintained among the three curricular components that comprise a liberal arts education: General Education, The Major, and Electives. The three components are described below:

General Education

Students pursuing an Associate of Science degree must complete the following 9 courses to fulfill the
General Education requirements. To see the full list of general education courses required, please visit the catalog or the General Education Requirement, course catalog.

Major Courses Required

Course Code Course Name Prerequisites Credits
MATH 1201
College Algebra

This course provides a solid grounding in algebra, trigonometry, and analytic geometry in preparation for further mathematical studies. The course includes an extensive study of linear, quadratic, and rational functions. It also contains an introduction to exponential and logarithmic functions and circles. Finally, the topic of systems of linear equations is covered.

None 3
MATH 1280
Introduction to Statistics

This course presents students with basic concepts in statistics and probability and encourages statistical thinking. Topics covered include descriptive statistics, probability, discrete and continuous random variables, the sampling distribution and the Central Limit Theorem. The R statistical programming environment is used for computation, graphical presentation, and simulations.

None 3
CS 1101
Programming Fundamentals

This course covers the basics of computer programming and provides a foundation for further learning in this area. No previous computer programming knowledge is required to finish this course. The course uses the Python programming language which is very simple and straightforward. The course also covers abstract concepts which can be applied to almost any programming language, and students are encouraged to pay attention to these since the way of thinking like a programmer is the most valuable lesson they will learn.

None 3
CS 1102
Programming 1

This introductory course teaches the fundamental concepts of programming languages by use of the popular Java language. The topics cover fundamental principles of programming, including data types, program control and decisions, loops, string manipulations, procedures, arrays, software testing, and debugging.

CS 1101 3
CS 1103
Programming 2

This course builds on the Introduction to Programming 1 course and teaches a more highly developed Java programming language with features beyond the basic concepts covered in the first programming course. A large part of the course will be devoted to more advanced building blocks such as recursion, linked data structures, and Java’s Collection Framework. In addition to this, students learn about designing and coding complex, robust, and efficient programs, and are introduced to a professional. programming tool: the Eclipse Integrated Development Environment.

CS 1102
CS 1104
Computer Systems

This course is an introduction to computer systems. In this course, we will begin by exploring the internal design and functionality of the most basic computer components. From there, we will use an online hardware simulator to actually “build” a computer and develop an assembler from the ground using concepts we will learn in the class. In the process, we will cover the ideas and techniques used in the design of modern computer hardware and discuss major trade-offs involved in system design as
well as future trends in computer architecture and how those trends might affect tomorrow’s computers.

CS 1103
CS 2203
Databases 1

This course introduces the fundamental concepts necessary for designing, using and implementing database systems. We stress the fundamentals of database modeling and design, relational theory, and the Structured Query Language.

CS 1102 3
CS 2204
Communications and Networking

This course will introduce the basic concepts of communication networks, including the OSI model and different types of communication protocols, including the Internet Protocol (TCP/IP protocol). The course will also cover the key concepts and structures of the Internet. Throughout the course, we will mainly be focusing on the two most prevalent reference models of network definition, OSI and TCP/IP.

CS 1104 3
CS 2205
Web Programming 1 (proctored course)

This course introduces students to fundamental concepts and issues surrounding software development for programs that operate on the web and the internet such as static and dynamic content, dynamically served content, web development processes, and security.

CS 1103 3
CS 2301
Operating Systems 1 (proctored course)

This course provides an applied introduction to commercial operating systems. It is intended for intermediate students who have basic programming skills. Key concepts of computer systems and operating systems are introduced, as well as the communications and linkages associated with computer systems. Operating systems that are introduced include Microsoft Windows and UNIX/Linux.

CS 1103
CS 2401
Software Engineering 1

This course focuses on the engineering process requirements, including identification of stakeholders, requirements elicitation techniques such as interviews and prototyping, analysis fundamentals, requirements specification, and validation. Course topics will include the use of models (Stateoriented, Function-oriented, and Object-oriented), documentation for Software equirements (Informal, semi-formal, and formal representations), structural, informational, and behavioral requirements; non-functional requirements, and the use of requirements repositories to manage and track requirements through the life cycle.

CS 1103 3

Other Electives

Students pursuing an Associate of Science degree may choose additional elective
courses beyond those specified in the General Education requirements, and/or select introductory
courses in other majors and/or take additional courses in a student’s major that may not be required
for the degree.