This program prepares students for transfer to a four-year institution so they may pursue a baccalaureate degree in computer science.
Students learn object-oriented and modular programming techniques, including the use, design, and analysis of data structures and associated algorithms. Students practice developing larger applications, and the study of computer architecture and operating systems cap students’ preparation.
This program assumes that the student is ready for calculus. Students without this preparation should consider taking Pre-Calculus prior to starting the program.
Computer Science is the study of algorithmic problem solving and its many applications. CS 110 (Introduction to Computer Science) is recommended for students who have not taken computer science or programming in high school; CS 120 requires CS 110 or permission of the instructor.
Upon completion, the Associate in Science Degree in Computer Science is awarded.
Career Forecast
- Computer scientists are in demand and will continue to be for some time. Career opportunities lie in computer and data processing services, electronic commerce, and businesses and government agencies that rely on computerized operations.
- You can continue with your education. MassBay has a number of transfer agreements with public and private four-year colleges and universities.
Program Requirements:
| Course ID |
Course Title |
Credits |
| First Year |
Semester I |
|
CS 120
|
Programming I |
4 |
| CS 205 |
Introduction to Computation |
4 |
| EN 101 |
Freshman English I |
3 |
MA 200
|
Calculus I |
4 |
|
Credits: |
15 |
|
|
|
| First Year |
Semester II |
|
| CS 200 |
Programming II |
4 |
| CS 214 |
Architecture and Assembly |
4 |
| EN 102 |
Freshman English II |
3 |
| MA 201 |
Calculus II |
4 |
|
Credits: |
15 |
|
|
|
| First Year |
Semester I or II |
|
|
Social Science Elective |
3 |
| CT 100 |
Critical Thinking |
2 |
|
|
|
| Second Year |
Semester I |
|
| CS 208 |
Data Structures |
4 |
| CS 212 |
Systems Programming with C |
4 |
| PY 103 |
Engineering Physics I |
4 |
|
Humanities Elective |
3 |
|
Credits: |
15 |
|
|
|
| Second Year |
Semester II |
|
| CS 225 |
Software Design |
3 |
| MA 210 |
Intro to Linear Algebra |
4 |
| PY 104 |
Engineering Physics II |
4 |
|
Program Elective |
4 |
|
Credits: |
15 |
|
|
|
| Second Year |
Semester I or II |
|
|
Humanities or Social Science Elective |
3 |
| |
|
|
|
Total Credits: |
68 |
Program Footnotes:
Program Electives: Database Management, Computer Networks, Linux System Management, Web Site Development.
Humanities Electives: Art, Communications, Film, French, Humanities, Literature, Music, Philosophy, Photography, Spanish, Oral Communication, Theater Arts
Social Science Electives: Anthropology, Geography, History, Economics, Political Science, Psychology, Sociology
This program qualifies for Joint Admissions with certain Massachusetts State Colleges.
Course Descriptions
CS 110 Introduction to Computer Science
Required first course for computer information systems and computer science majors. This course is a broad introduction in the field of computer science as opposed to a first course in programming. Topics covered include history of computing, discussion of local applications, the internet and global applications, system design (designing a user interface), programming, generations of computer languages, hardware, artificial intelligence, and computers and society.
Pre-requisite: none.
Lecture: 3 hours per week. Lab: 2 hours per week. (4 credits)
CS120 Programming I
This is a first course in programming computers using a high level language. The current language used is Java, an object-oriented programming language. Emphasis will be on using the Java language and existing classes to construct programs with graphical user interfaces. Programs will be modular and well documented. In the laboratory, students will create programs of their own as well as modify and extend working programs.
Pre-requisite: CS110 or instructor permission.
Lecture: 3 hours per week. Lab: 2 hours per week.
(4 credits)
CS 200 Programming II
Advanced programming course using Java, an object-oriented programming language. Emphasis will be on using the JAVA language and existing classes to construct graphical programs, and event-driven programs with graphical user interfaces. Use of program constructs for selection and looping will be taught. In the laboratory, students will create programs of their own as well as modify and extend working programs.
Pre-requisite: CS120.
Lecture: 3 hours per week. Lab: 2 hours per week. (4 credits)
CS 205 Introduction to Computation
Concrete approach to the mathematical and logical concepts of the algorithms underlying computer programming. Introduction to the discrete math needed in computer science. Includes the use of Boolean algebra, logic, gates, and digital logic structures, counting, finite probability, and recursion in the design and analysis of algorithms.
Pre-requisite: eligibility to take a 100 level college math.
Lecture: 4 hours per week (4 credits)
CS 208 Data Structures
Develops the ability to select appropriate strategies (algorithms) and data structures to solve problems. Advanced programming techniques to solve a wide selection of programming assignments. Among the structures studied are: stacks, queues, linked lists, pointer variables, binary trees, recursion.
Pre-requisite: CS 200.
Lecture: 4 hours per week. Lab: 4 hours per week (4 credits)
CS 212 Systems Programming with “C”
The use of the C programming language with particular emphasis on the low level features that make it suitable for systems programming. Programming will be done on a modern, RISC based workstation running the UNIX operating system.
Pre-requisite: CS110. Co-requisite: CS200.
Lecture: 3 hours per week. Lab: 2 hours per week. (4 credits)
CS 213 Database Management Systems I
Characteristics of database management systems, including design and implementation techniques. Students will study various database models and focus on issues related to the fundamental concepts of the relational model. Topics include data analysis, data modeling, database management systems, the normalization process, security and integrity issues; and data manipulation using the SQL query language.
Pre-requisites: CS110, CS120.
Lecture: 3 hours per week. Lab: 2 hours per week. (4 credits)
CS 214 Computer Architecture and Assembly Language
Covers the internal organization and operation of a conventional computer including instruction types, data representation, addressing modes and input/output. Programming at the assembly language level will include instruction mnemonics, symbolic addresses, assembler directives, system calls and macros.
Pre-requisite: CS110, CS120.
Lecture: 3 hours per week. Lab: 2 hours per week. (4 credits)
CS 225 Software Design
Project approach to the software development life cycle: Small teams of students write a description of a software application to be created, develop an object design, implement this design in Java, and present the result in an open forum. Lecture topics are chosen to support this process.
Pre-requisite: CS 200 Programming II
Lecture: 3 hours per week. (3 credits)
CS 242 Computer Networks
How computer networks and the Internet work. This course presents a description of the various levels of networking, from the lowest levels of data transmission and wiring to the highest levels of application software. Topics covered include data transmission, how the hardware works; packet switching, network topologies and wiring schemes; internetworking, internet architecture, TCP/IP; and various network applications.
Pre-requisite: CS110. Co-requisite: CS120.
Lecture: 3 hours per week. Lab: 2 hours per week. (4 credits)