Computer Science Major: The College at Brockport

Main Page Content

Description

Computer Science is the theory and practice of computation.  A computer scientist creates new hardware and software that is more efficient, effective, and reliable.  At The College at Brockport, the Advanced Computing (AC) and the Software Development (SD) Tracks of the Computer Science (CSC) major train students in lasting fundamental principles of computing, with appropriate exposure to modern hardware/software products and applications.  The emphasis is on computer problem solving and the development of new software and hardware. 

The Advanced Computing Track of the Computer Science major is accredited by the Computing Accreditation Commission of ABET, http://www.abet.org.  This track is recommended for students with a strong preparation in mathematics and science. The Software Development Track is recommended for transfer students and double majors with interest in software development.

Useful information for students, such as career guidance, advisement, sample plans of study, student awards, and scholarships can be found at the department website.

Admission to the Program

Any undergraduate student can declare this major. The first course in the program is CSC 203 (Problem Solving with Objects). The prerequisites for this course are CSC 120 (Introduction to Computing) and MTH 122 (Pre-calculus), or equivalents by permission of the instructor.

  • Students without these prerequisite courses should plan on one or two preparatory semesters in which to take them.
  • Students demonstrating appropriate preparation may be waived off one or more of these prerequisite courses, allowing them to enroll directly in the courses in the program.
  • Students who complete the Advanced Placement (AP) Exam in Computer Science (A) with a score of 3 will receive credit for CSC 120. Students who complete the Advanced Placement (AP) Exam in Computer Science (A) with a score of 4 or 5 will receive credit for CSC 203.

Program Requirements

Students in the computer science major pursue a Bachelor of Science degree and must complete its requirements.

Students pursue either the Advanced Computing or the Software Development track.

Track 1: Advanced Computing

In addition to the course requirements below, students must meet the following:

  1. Earn an average grade of "C" or higher in core and elective courses.
  2. The grade earned in each of CSC 203, 205, 209 and 311 must be "C" or higher.
  3. A student must take at least 15 credits in mathematics courses beyond the pre-calculus level. These credits are expected to be from the following courses: MTH 201 (Calculus I), MTH 202 (Calculus II), MTH 281 (Discrete Math I), and MTH 481 (Discrete Math II).
  4. A student must take at least 8 credits in Science courses. These credits must be from laboratory based courses allowed as part of BIO, CHM, ENV, ESC, or PHS majors.
  5. At least 18 of the credits used to satisfy the core or elective requirements in the major must be earned at Brockport.
  6. Credits (1-4) for at most one course can be earned by "departmental credit by examination."

Core Courses (45 credits)

  • CIS117 Introduction to Web Development (1 credit)
  • CSC203 Problem Solving with Objects (4 credits)
  • CSC205 Fundamentals of Data Structures (4 credits)
  • CSC209 UNIX Tools (1 credit)
  • CSC219 Programming in C (1 credit)
  • CSC311 Computer Organization and Architecture (4 credits)
  • CSC312 Cybersecurity (3 credits)
  • CSC356 Life in the Digital Age (3 credits)
  • CSC401 Programming Languages (3 credits)
  • CSC406 Algorithms and Data Structures (3 credits)
  • CSC414 Operating Systems and Parallel Computation (3 credits)
  • CIS419 Computer Networks and Internet Applications (3 credits)
  • CIS422 Physical Design and Implementation with DBMS (3 credits)
  • CSC427 Software Systems Engineering (3 credits)
  • CSC483 Theory of Computation (3 credits)
  • CSC486 Junior/Senior Seminar (3 credits)

Elective Courses (3 credits)

  • ONE Project-oriented course numbered 400-489, selected through advisement, currently confined to the set: CSC 423 (Web Application Development) and CSC 429 (Object-Oriented Software Development)

Mathematics Corequisites (15 credits)

  • MTH201 Calculus I (4 credits)
  • MTH202 Calculus II (4 credits)
  • MTH281 Discrete Math I (4 credits)
  • MTH481 Discrete Mathematics II (3 credits)

Science Corequisites (8 credits)

TWO laboratory science courses from the following:

  • BIO201 Biology I (4 credits)
  • BIO202 Biology II (4 credits)
  • CHM205 College Chemistry I (4 credits)
  • CHM206 College Chemistry II (4 credits)
  • ENV202 Environmental Science (4 credits)
  • ENV303 Ecology (4 credits)
  • ESC211 Introduction to Meteorology (4 credits)
  • ESC311 Synoptic Meteorology (4 credits)
  • PHS235 Physics I (4 credits)
  • PHS240 Physics II (4 credits)

Track 2: Software Development

In addition to the course requirements below, students must meet the following:

  1. Earn an average grade of "C" or higher in core and elective courses.
  2. The grade earned in each of CSC 203, 205, 209 and 311 must be "C" or higher.
  3. At least 18 of the credits used to satisfy the core or elective requirements in the major must be earned at Brockport.
  4. Credits (1-4) for at most one course can be earned by "departmental credit by examination."

Core Courses (33 credits)

  • CIS117 Introduction to Web Development (1 credit)
  • CSC203 Problem Solving with Objects (4 credits)
  • CSC205 Fundamentals of Data Structures (4 credits)
  • CSC209 UNIX Tools (1 credit)
  • CSC219 Programming in C (1 credit)
  • CSC311 Computer Organization and Architecture (4 credits)
  • CSC312 Cybersecurity (3 credits)
  • CSC356 Life in the Digital Age (3 credits)
  • CSC401 Programming Languages (3 credits)
  • CSC406 Algorithms and Data Structures (3 credits)
  • CSC427 Software Systems Engineering (3 credits)
  • CSC486 Junior/Senior Seminar (3 credits)

Elective Courses (15 credits)

  • FIVE CSC courses numbered 400-489, selected through advisement, one of which must be a project-oriented course currently selected from the set: CSC 423 (Web Application Development) and CSC 429 (Object-Oriented Software Development)

Mathematics Corequisites (11 credits)

  • MTH201 Calculus I (4 credits)
  • MTH281 Discrete Math I (4 credits)
  • MTH481 Discrete Mathematics II (3 credits)

Program Educational Objectives

Advanced Computing Track

The graduates of the undergraduate degree program in Computer Science (Advanced Computing Track) are expected to have:

  1. Attained, within a few years of graduation, a higher level of expertise in computing through productive employment in computing technology development fields, with job designations such as Computer Programmer, Software Developer, Software Engineer, Software Security Specialist, Software Systems Analyst, Software Quality Assurance Engineer, Systems Programmer and Web Developer, or through successful pursuit of advanced graduate studies in computing or related disciplines,
  2. Adapted and grown as work conditions and responsibilities changed with technology and globalization, and
  3. Engaged ethically in collaborative teams, communicating effectively with team members and others.

These objectives are accomplished by providing our students:

  1. A broad-based education in core areas of computer science, including algorithms and complexity, computer science theory, concepts of programming languages, software development, computer architecture and organization, information management, networking and communication, operating systems, parallel and distributed computing, and cyber security, with an appropriate blend of theory and practice,
  2. Opportunities to specialize in a variety of areas of computer science through a selection of elective courses,
  3. Opportunities to broaden educational experiences through independent studies, theses, internships, career exploration experiences, and study abroad programs, and
  4. A deep foundation in professional ethics and communication skills.

Software Development Track

The graduates of the undergraduate degree program in Computer Science (Software Development Track) are expected to have:

  1. Attained, within a few years of graduation, a higher level of expertise in computing through productive employment in computer software development fields, with job designations such as Computer Applications Programmer, Computer Applications Analyst, Database Administrator, Network Administrator, Software Developer, Software Tester, and Web Developer, perhaps combining knowledge and skills gained through an exposure to another discipline as an associate degree holder or as a double major, or through successful pursuit of advanced graduate studies in computing or related disciplines,
  2. Adapted and grown as work conditions and responsibilities changed with technology and globalization, and
  3. Engaged ethically in collaborative teams, communicating effectively with team members and others.

These objectives are accomplished by providing our students:

  1. A broad-based education in core areas of computer software development, including algorithms and data structures, concepts of programming languages, software development, computer architecture and organization, information management, networking and communication, operating systems, parallel and distributed computing, and cyber security, with an appropriate blend of theory and practice,
  2. Opportunities to specialize in a variety of areas of software development through a selection of elective courses,
  3. Opportunities to broaden educational experiences through independent studies, theses, internships, career exploration experiences, and study abroad programs, and
  4. A deep foundation in professional ethics and communication skills.

Student Learning Outcomes

Upon completion of the program, students will be able to:

Advanced Computing Track

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program's discipline.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program's discipline.
  6. Apply computer science theory and software development fundamentals to produce computing-based solutions.
  7. Use current techniques, skills, and tools appropriate for immediate employment in computing technology development fields.

Software Development Track

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program's discipline.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program's discipline.
  6. Apply computer science theory and software development fundamentals to produce computing-based solutions.
  7. Use current techniques, skills, and tools appropriate for immediate employment in computer software development fields.
Close mobile navigation