The computer science curriculum is designed to prepare students for employment as computer science professionals, as well as to provide a strong background for advanced study. The BS in Computer Science program is accredited by the Computing Accreditation Commission of ABET.
All students take courses in problem-solving and programming fundamentals, data structures, computer architecture, operating systems, algorithm analysis, software engineering, database systems or computer networks, and programming languages or theory of computation. Security concepts are covered throughout the curriculum. Upper-level computer science (CS) options support an in-depth exploration of a range of subdisciplines including, but not limited to, artificial intelligence, computer graphics, data science, cybersecurity, computational biology, and human-computer interaction. Special topics courses provide the opportunity to study and work with the latest trends in computing. For their capstone requirement, students participate in research or industry experiences that culminate in professional presentations. Students enhance their studies with coursework in mathematics and science, as well as in arts, humanities, history, and other disciplines in social sciences. A minimum of 32 course units is required for graduation.
Suggested Sequence Documents
CS Major Requirements and Prerequisites Structure (College Core Version) (For students who entered the CS major at TCNJ in Fall 2023 or later semesters)
CS Major Requirements and Prerequisites Structure (Liberal Learning Version) (For students who entered the CS major at TCNJ prior to Fall 2023).
Program Planners and other resources can be found on the Advising Resources webpage.
Required Advanced Core Courses
- CSC 315: Database Systems or CSC 360: Computer Networking (for students entering the major in Fall 2019 or later)
- CSC 325: Computer Architecture
- CSC 335: Analysis of Algorithms
- CSC 345: Operating Systems
- CSC 415: Software Engineering
- CSC 435: Programming Languages or CSC 445: Theory of Computation
- CSC 399: Internship or CSC 498: Mentored Research I in Computer Science
Computer Science Options (three course units)
Select three courses from the following list. Students may take additional options courses for free elective credit.
- CSC 307: Data Mining and Predictive Modeling
- CSC 315: Database Systems (if not taken as part of advanced core by students entering the major in Fall 2019 or later)
- CSC 320: Information Retrieval (cross listed as IMM 320)
- CSC 350: Computer Graphics
- CSC 355: Human Computer Interaction
- CSC 360: Computer Networking (if not taken as part of advanced core by students entering the major in Fall 2019 or later)
- CSC 380: Artificial Intelligence
- CSC 425: Compilers and Interpreters
- CSC 426: Machine Learning
- CSC 427: Natural Language Processing
- CSC 435: Programming Languages (if not taken as part of advanced core)
- CSC 445: Theory of Computation (if not taken as part of advanced core)
- CSC 448: Algorithms in Computational Biology
- CSC 450: Computer and Network Security
- CSC 470: Topics in Computer Science
- CSC 471: Genomics and Bioinformatics (same as BIO 470 when the topic is Genomics and Bioinfomatics)
One additional capstone course or independent study from the following list may be chosen, with advisement and departmental approval, and applied towards the CS Options. Also see the Suggested Sequence.
Capstone Courses
- CSC 399: Internship in Computer Science
- CSC 498: Mentored Research I in Computer Science
- CSC 499: Mentored Research II in Computer Science
- CSC 391: Independent Study in Computer Science with departmental approval.
Students may take additional Computer Science Options courses, including capstone courses and independent study, for free elective credit.
Required Mathematics Courses (four course units)
Computer Science Natural Science and Mathematics Options
Students who entered the major prior to Fall 2019 must take three major-level laboratory sciences and one additional math or science course (with advisement).
Students who enter the major in Fall 2019 must take two major-level laboratory sciences.
See Math and Science Correlate Requirements for more information on courses that meet the math and science requirements. Consult the department for additional details.
World Language Requirements (two or three course units)
Two courses in sequence in any of the modern languages are required if students opt for a language not previously studied in high school or another institution.
Alternatively, students continuing a foreign language previously taken in high school or at another institution must take three courses of that language in sequence. This requirement may be reduced by taking a placement test in that language. Based on the student’s performance on that test, 0, 1, 2, or 3 courses may be required.
Consult the department for details.
Note: Arabic 151 and 152: Chinese 151 and 152; Japanese 151 and 152; Persian 151 and 152; and Russian 151 and 152 are intensive courses and carry two course units of credit each. Students should take this into account when planning a normal four-course semester.