Computer Science BA and Computer Science BS
Computer Science programs are designed for students whose major interest is the general study of computer science rather than a focus on a particular application area. Students gain a broad education in traditional computer science concepts including algorithms, software engineering, computer architecture, data structures, operating systems, networks, artificial intelligence and image processing. Students learn theory as well as the methodologies and techniques used in the development of computer systems.
CS graduates are hired as system analysts, software developers and programmers by companies in health-care, investments, insurance, computer software and hardware, science laboratories, and also the government. They work as computer system/network administrators for small and large companies or for schools and colleges. Some graduates work for computing consulting companies or become independent consultants. Some start their own technology companies.
BS majors take a total of 10 required CIS courses, 1 theory elective, 3 other electives in CIS, and a course with a clear focus on communication skills and collaborative work. BA majors take 9 CIS courses, 1 theory elective, and a course with a clear focus on communication skills and collaborative work. All majors take 2 semesters of calculus and a two-semester laboratory science sequence.
CS majors have an introductory programming methodology course, CIS 1068 (67), which is followed by a course in data structures, CIS 2168 (68), and an advanced course on data structures and algorithms, CIS 3223 (223). These courses use Java programming language, and object-oriented programming techniques are introduced extensively from the beginning. A series of required systems courses, CIS 2107 (72), CIS 3207 (207), and CIS 4307 (307) covers systems topics from architecture and low-level programming, to system programming and operating systems, and distributed systems and networks. Among the available systems elective courses are courses in networks CIS 4319 (320), databases CIS 4331 (331), and graphics CIS 3219 (220).
The needed CIS mathematical concepts are covered in two required courses, CIS 1166 (66) and CIS 2166 (166). Among the available theory electives are courses in probability theory, automata, discrete structures, and mathematical computer programming. A required course in software engineering, CIS 4298 (W338), covers modern principles of program design. This is the capstone course for both programs. For BS majors only, the Projects in Computer Science course, CIS 4339 (339), provides students with an opportunity to tie together much of what they have learned in earlier courses.
After completing this program, students should:
- design, write and test efficient software algorithms
- apply knowledge of computer hardware and system software to design reliable & efficient software systems
- apply math concepts to problem solving
- learn, evaluate and apply new problem solving techniques & tools
- learn new problem solving strategies and transfer them from one problem domain to another
- be able to communicate with and lead teams
- be able to do well in Industry or Research
Related Web Sites
CIS Program Requirements (B.A.)
CIS Program Requirements (B.S.)
SERC, Room 330