2024-2025 Academic Catalog 
    
    Nov 08, 2024  
2024-2025 Academic Catalog

Computer Science Major


Return to {$returnto_text} Return to: Programs of Study

Computer Science Overview


At the Department of Computer Science at Clark University, we pride ourselves on creating an environment where students thrive, and opportunities abound. We don’t just see computer science as a means to develop the next big thing; we believe it’s a powerful tool for tackling complex challenges head-on. 

 

As a computer science student here, you’ll delve into theory and problem-solving skills that transcend disciplines. Our liberal arts curriculum fosters an understanding of how technology shapes our interconnected world, preparing you for meaningful roles in society, industry, or research. What makes us truly special? Our faculty are not only respected researchers but also dedicated mentors, eager to see you succeed. And with our small department size, you’ll find a supportive community reminiscent of small colleges, coupled with the resources of a larger university. 

 

But that’s not all. Our students have incredible opportunities at their fingertips. From collaborating with faculty on groundbreaking research to diving into innovative projects, serving as teaching assistants, and participating in exciting clubs like Clark Center for TIE (Technology, Innovation & Entrepreneurship), C4, and ACM, the possibilities are endless. And when it comes to landing dream jobs or securing spots in top graduate programs, our track record speaks for itself. Our graduates are making waves in leading companies, research labs, and universities worldwide, thanks in part to programs like Clark’s Accelerated Degree Program and the Columbia Combined Plan Program. 

 

Many of our students also pursue double majors or minors in diverse fields, from Data Science to Music, all while giving back to their communities, exploring entrepreneurship, and embarking on global adventures. 

 

Ready to take the next step? Visit the Department of Computer Science  website for more information and join us in shaping the future of technology! 

Major Requirements


The computer science major follows the ACM curriculum guidelines and requires 12 total credits.

Note: A minimum grade of C- is required for major or minor credit. No course can be taken pass/fail for the major or minor. 

 

To declare a major, reach out to CS faculty for guidance at CSAdvising@clarku.edu. Declare at the latest by your sophomore year, with earlier declarations encouraged. Select an academic adviser from the department faculty, preferably before declaring. Entering students enrolled in a first-year intensive course outside computer science are especially encouraged to make a prompt choice of an unofficial secondary adviser in the Computer Science program, who will be able to supplement the advice offered by their primary adviser. 

 

Introductory Courses (3 courses)


These courses are essential prerequisites for intermediate and advanced levels and should be completed promptly.  

CSCI 120 - Introduction to Computing  and CSCI 124 - Accelerated Introduction to Computing  are introductory courses teaching Python and computer science basics. Students with prior programming knowledge may opt for CSCI 124 , an accelerated version of CSCI 120 . Students looking to explore the major can opt for CSCI 103 - Introduction to Societal Computing , an optional course covering societal computing effects. After CSCI 120 /CSCI 124 , students proceed to CSCI 121 - Data Structures . Completing these courses promptly enables access to core and advanced courses and enhances competitiveness for internships and job opportunities. 

Aim to complete calculus sequence in first year, if possible, and core CS courses ASAP. 

Calculus (2 courses)


This one-year sequence should be completed as soon as possible, preferably in the students’ first year at Clark. Any of these courses can be used to fulfill the formal analysis requirement.

Core Courses (4 courses)


The core computer science courses should be taken as soon as possible, especially CSCI 160, which is a prerequisite to most 200-level CSCI courses. The core courses encompass theoretical and applied computer science helping students develop their analytical aptitude as they tackle more intricate challenges. The core courses include: 

(Total: 13 courses)


Computer Science Capstone Requirement


The capstone project serves several purposes, including deepening understanding, integrating knowledge, and applying skills to real-world problems. Each computer science major must complete one capstone project for each major during their senior year or the summer before. However, some CS majors may finish their academic requirements by the end of their junior year. In such cases, they can fulfill the capstone requirement by working on a 200-level CSCI course or through an approved alternative activity after successfully completing at least five computer science courses above CSCI 121 - Data Structures 

 

Students can complete the computer science capstone requirement through a 200-level course or an alternative capstone experience. Several 200-level courses currently available may be taken as computer science capstone courses, the following 200-level courses may currently be taken as computer science capstone courses: 

Other advanced computer science courses and courses from other departments may be taken as a capstone course with department approval. 

 

In these courses, students will often give presentations in class, on Academic Spree Day, and/or in department seminars. To fulfill the capstone requirement using a 200-level course, students must arrange with the instructor within the first two weeks of the class. The course instructor will then serve as the capstone advisor and certify the completion of the capstone requirement. 

 

For an alternative capstone, students can explore various options with the Department of Computer Science’s approval. This includes: 

  • Summer research, self-designed projects, academic internships, and suitable study abroad courses with a significant computational component. 

  • Participation in programming contests and hackathons, depending on the level of engagement. 

  • Double majors may fulfill the capstone requirement in another major if it involves a significant computational aspect, as determined by the computer science program faculty. 

Directed Study Courses


Directed Study courses on special topics may be arranged with the permission of a member of the departmental faculty who will serve as supervisor. Departmental policy requires that a directed study course can only be taken Pass/Fail. Directed study courses may not be substituted for 200-level courses to fulfill departmental requirements.

Honors


Students can apply for departmental honors in recognition of meritorious academic achievement and creativity in research and development. An honors applicant must maintain at least a 3.2 average (4.0 scale) in courses required for the major. Students interested in pursuing the honors program should consult their department adviser and reach out to their intended Honors advisor during their junior year. Accepted students undertake a project, guided by faculty, in junior and/or senior year, presenting it at a departmental seminar. Honors recommendation and level are determined by project quality and student presentation. 

Declaring a Major


The department has a system of advising to assist students with their course selections. The CS faculty will be happy to talk to students and help them plan their studies at Clark to pursue all their interests and reach their potential.  Please contact the program faculty at CSAdvising@clarku.edu.

A major must be declared no later than the second semester of the sophomore year; earlier declarations are encouraged. Students should choose an academic adviser from the department faculty as early as possible, at the latest by the time the major is declared.

Entering students enrolled in a first-year intensive course outside computer science are especially encouraged to make a prompt choice of an unofficial secondary adviser in the Computer Science program, who will be able to supplement the advice offered by their primary adviser.

Computer Science Faculty


John Magee, Ph.D., Chair

Kenneth Basye, Ph.D.

Li Han, Ph.D.

Gary Holness, Ph.D.

Shuo Niu, Ph.D.

Lewis Tseng, Ph.D.

Olufemi Odegbile, Ph.D.

Peter Story, Ph.D.

Pawan Gupta, M.S.

Catalin Veghes, M.S.

Return to {$returnto_text} Return to: Programs of Study