Program Overview
Computer science (CS) stresses the design, analysis, implementation, management and application of large software systems, as well as systems combining both hardware and software. The Watson School offers a rich set of courses in software design, programming, hardware design and everything in between.
Students begin taking computer science courses in their first semester at Ïã¸ÛÁùºÏ²Ê×ÊÁÏ, and the department welcomes incoming first-year students with or without prior CS experience. In their first year, students with limited programming experience begin the year with Programming Concepts and Applications; otherwise, they start with hardware and software systems. During the first two years, students study multiple programming languages and computer systems principles. Required courses build a strong foundation across the core areas of CS, such as computer systems design, programming languages, data structures and algorithms, computer architecture, operating systems and formal methods. A wide variety of elective classes allows students to pursue the areas that interest them most, while applying and building on their foundation. We offer electives in software systems, networking (including mobile and wireless networks), web-based systems, machine learning, data mining, artificial intelligence (AI), computer graphics, computer vision, cybersecurity, embedded systems, Internet of Things (IoT), cloud computing, robotics and game design. To maximize scheduling flexibility, every required CS course is taught every semester. This enables different paths through the program and allows students to minor — or even earn a dual degree — in the arts, business, math, music, languages, the sciences and more. Students can also study abroad, pursue a semester-long co-op for credit, or both.
Degrees Offered
Minors
Internships, Research Opportunities and More
It is extremely common for students in their junior and senior years to have paid summer internships at companies like BAE, Citigroup, Bloomberg, Amazon, as well as paid research positions at Ïã¸ÛÁùºÏ²Ê×ÊÁÏ or other universities.
Research conducted in the Computer Science Department includes:
- computer systems
- graphics, image processing, vision
- information systems
- operating systems, networking and distributed systems
- security
- artificial intelligence, machine learning and data mining
- Cloud and high-performance computing
Explore more in the Computer Science Department.
Coursework
Some courses to consider in your first year:
-
MATH 224 - Differential Calculus
This is a 2-credit course in differential calculus covering limits, continuity, and
differentiation. Prerequisites: MATH 223 with a grade of C- or better, or Placement Exam. Offered each half semester. 2 credits.
Levels: Graduate, Undergraduate
-
MATH 225 - Integral Calculus
This is a 2-credit course in integral calculus covering optimization and integration. Prerequisites: MATH 224 with a grade of C- or better. Offered 2nd half of fall semester and both half semesters of spring semester. 2 credits.
Levels: Undergraduate
-
MATH 226 - Integration Tech & Application
This is a 2-credit course covering the calculus of transcendental & inverse functions, L’Hospital’s Rule, integral techniques, improper integrals, calculus of parametric curves, and polar coordinates.
Prerequisites: Math 225 with a grade of at least a C- or consent of instructor. 2 credits.
Levels: Undergraduate
-
MATH 227 - Infinite Series
This is a 2-credit course covering sequences, series, power series, and Taylor series.
Prerequisites: Math 226 with a grade of at least a C- or consent of instructor. 2 credits.
Levels: Undergraduate
-
CS 101 - Prof Skills Ethics & CS Trends
Introduction to and discussion of topics of interest to computer science majors: social, ethical and professional issues; university, school and department resources; current developments in computer science. Prerequisite: none. Offered in the Fall semester. 1 credits
Levels: Undergraduate
-
CS 110 - Pgming Concepts&Applic
An introductory course for students with little or no programming experience. Basic control flow, data types, simple data structures and functions using a scripting language. Developing code using an integrated environment. The basics of directories, files and file types, including text files. Simple examples of the applications enabled by a modern, platform-independent scripting language such as GUIs, event handling, and database access. This course is open to all students who have not taken any other CS courses (with the exception of CS 105 and CS 205) and under these conditions, can count as free-elective credit for CS majors. Offered every semester. Prerequisite (May be taken concurrently. ): Math 225. 4 credits
Levels: Graduate, Undergraduate
-
CS 120 - Prog & Hardware Fundamentals
Introduction to the C programming language, including local and global variables, basic control structures, function calls, pointers and the stack; use of command-line C development environments and development tools such as gdb and make; assembly language connection to higher-level C; building blocks of the Von Neumann machine (ALU, registers, control unit, RAM, decoders, program counters) and the underlying basic logic elements; simple non-pipelined processor architectures. Supervised laboratory work involves programming in C and low-level languages, interfacing with hardware, and the design and simulation of small circuits and simplified microprocessors. Prerequisite MATH 225 that may be taken concurrently. Prerequisite: CS 110, CS Majors may request a waiver from the Undergraduate Director based on prior programming experience. Offered every semester. 4 credits
Levels: Graduate, Undergraduate
-
CS 140 - Prog with Obj & Data Struct
Assumes a foundation in procedural programming as covered in CS 110. Provides the foundations of software development using Java and the data structures provided by Java. Problem solving using object-oriented programming techniques is emphasized. Topics include primitive and reference data types, variables, expressions, assignment, functions/methods, parameters, selection, iteration, recursion, exception handling, generic linear data structures, trees and maps, file types, file I/O, simple GUIs, programming to an interface, use of inheritance, javadoc documentation, and introduction to Java streams and threads. Required laboratory provides supervised problem solving, programming using the command line as well as Eclipse or Netbeans development environments, code backup in a version control repository, debugging and JUnit testing techniques. Prerequisite: CS 110, CS Majors may request a waiver from the Undergraduate Director based on prior programming experience. Prerequisite: (may be taken concurrently) CS 120. Prerequisite Math 225 (All prerequisites must have a grade of C- or better). Offered every semester
Levels: Graduate, Undergraduate
-
WRIT 111 - Inquiry and Academic Writing
WRIT 111 helps first-year students become stronger writers, speakers, and thinkers. The course treats writing as a process, emphasizes revision, and gives students practice in critical thinking and research writing, reinforcing the notion that writing conventions differ according to their rhetorical situations. Formal writing assignments include personal, civic, and academic genres. Prerequisites: first-year students only. Transfer and ESL students by approval of Writing Initiative only. 4 credits. Offered fall and spring semesters.
Levels: Undergraduate
After You Graduate
Computer science graduates have consistent, high-quality job placement records. Companies such as IBM, Microsoft, Goldman Sachs, Amazon, Dow Jones, etc. actively recruit CS majors on campus.
CS students can also pursue advanced degrees focusing on computer architecture, computer networks, grid computing, image processing and many more fields.
For more information, .