The BA and BS programs in Computer Science (CS) are designed for students whose major interest is the general study of computer science rather than the focus on a particular application area. These programs provide students with a broad education in traditional computer science concepts including algorithms, software engineering, computer architecture, programming languages, 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. The goal is to prepare our students for employment or for graduate study in a masters or Ph.D. program in computer science. Graduates may be employed in the software industry, in computer centers, government, industry, or any organization that uses computers for research or production purposes.
CS graduates are hired as system analysts, software developers and programmers by companies involved in many areas such as health-care, investments, insurance, computer software and hardware development, science laboratories, and also the government. They also 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, and 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 2 - 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 the 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.
Wachman Hall, Room 350