Majoring in CS (BA or BS)
Guide to Bachelor of Science and Bachelor of Arts Majors in Computer Science
(for students who matriculated fall 2008 or subsequently)
Areas of Emphasis at Delaware:
The Department of Computer and Information Sciences (CIS) offers two computer science degree majors and an information systems major. The Information Systems program of the CIS Department is described in a separate Curriculum guide.
The majority of computer science majors pursue the Bachelor of Science in Computer Science (BSCS) degree, a focused technical course of study. The Bachelor of Arts in Computer Science (BACS) is a more flexible liberal arts program, especially good for students double- or triple- majoring, or students who desire a technical undergrad degree before attempting a professional degree (law, medical, business).
Within the BS program, students are encouraged to explore how other subject areas impact and are impacted by computer science through a four-course concentration in a related discipline such as management information systems, linguistics, mathematics, cognitive science, artificial intelligence, or many others. The curriculum emphasizes software applications and computer theory with the goal of teaching students how computers are used to solve real-life problems. Majors develop excellent programming skills as they build a solid foundation in the theory and practice of computer science. All of the 17-plus members of the department's faculty hold doctorates. The research of the faculty falls into seven broad areas: artificial intelligence and natural language processing, networking, high performance computing systems, multimedia, bioinformatics, theory and algorithms, and computer algebra. These research areas are well reflected in the upper level course offerings.
What's Special about the Program:
The diverse interests of the faculty members give majors a wide range of courses from which to choose. Because classes typically have no more than 40 students, students benefit from a high level of interaction with their professors. The concentration component also allows majors to pursue related interests in line with their career goals. Students are strongly encouraged to get involved in undergraduate research through independent studies and funded research experiences, with the goal of learning from internationally recognized scholars outside the classroom and participating in the exciting quest for new contributions to the field. In the last three years, student research activity has led to national recognition by the Computing Research Association for five of our majors. The department faculty are active researchers and superb teachers who devote extensive time and effort to educating, mentoring, and advising students. Six of our faculty have been awarded the prestigious university-wide Excellence-in-Teaching Award.
Facilities and Resources:
The department is committed to providing students with access to the most advanced computer technology available and maintains research laboratories jointly with the Department of Electrical and Computer Engineering, as well as separate research laboratories for subareas requiring extensive experimental studies. CIS and ECE jointly manage high performance clusters being used for coursework and research in parallel computing, networking, artificial intelligence, and multimedia.
Career Paths:
A degree in computer science opens the door to careers in programming, data processing, systems development, and marketing in a variety of industries and businesses. Some students go on to graduate study in top graduate programs. For example, recent graduates are currently pursuing graduate work at Cornell, Princeton, and Waterloo. Delaware graduates obtain jobs with major computer manufacturers and software development firms such as IBM, Microsoft, and SUN, and major corporations such as DuPont and MBNA. Employment opportunities also are available in virtually every manufacturing and service industry such as chemical companies, consumer products firms, banks and financial services companies. Government contractors and small software development firms represent other potential employers. Several have been created by our graduates.
The Computer Science Curriculum:
To earn either a BS or a BA in computer science, students must complete at least 124 credits and meet specific requirements, as outlined in the University of Delaware Undergraduate Catalog. The courses for the BA degree and the BS degree are the same for the freshman and sophomore years, branching off into their respective emphasis for the last two years. The degree of BS in CS emphasizes technical aspects, with more required courses, including the concentration. The BA in CS has a liberal arts focus, with fewer required courses, and an opportunity to plan your own upper level study in consultation with an advisor. The following plan is only one example of a four year program for a BS degree in computer science.
Fall semester:
CISC108 - Introduction to Computer Science I (3 cr.) - Computing and principles of programming with an emphasis on systematic program design. Topics include functional programming, data abstraction, procedural abstraction, use of control and state, recursion, testing, and object-oriented programming concepts.
MATH241 - Analytic Geometry and Calculus A (4 cr.) - The first math course is determined by the student's background, SAT scores, and a math placement test. Eventual completion of the 4-credit calculus course, Math 241, is required.
ENGL110 - Critical Reading and Writing (3 cr.) - Expository and argumentative composition through analysis of selected readings.
General Electives or Breadth electives (6 cr.) College of Arts & Science majors such as CISC will require 2 courses in each breadth area, including at least one multicultural course.
Spring semester:
CISC181 - Introduction to Computer Science II (3 cr.) - Principles of computer science illustrated and applied through programming in the object oriented language C++.
MATH242 - Analytic Geometry and Calculus (4 cr.)
Laboratory Science Sequence I (biology - BISC207, chemistry - CHEM103, physics - PHYS207, or geology - GEOL105/115) (4 cr.)
General Electives or breadth electives (6 cr.)
Fall semester:
CISC220 - Data Structures (3 cr.) - Review of data type abstraction, recursion, arrays, stacks, queues, multiple stacks and linked lists. Emphasis on dynamic storage management, garbage collection, trees, graphs, tables, sorting and searching.
CISC260 - Machine Organization and Assembly Language (3 cr.) Introduction to the basics of machine organization. Programming tools and techniques at the machine and assembly levels. Assembly language programming and computer arithmetic techniques.
MATH210 - Discrete Mathematics (3 cr.) - Sets, logic, induction, number systems, counting, introduction to graph theory, sequences and formal power series.
Laboratory Science Sequence II (biology - BISC208, chemistry - CHEM104, physics - PHYS208, or geology - GEOL107). Note: The course must be from the same science as Laboratory Science Sequence I. (4 cr.)
General/Breadth Electives (3 cr.)
Spring semester:
CISC275 - Introduction to Software Engineering (3 cr.) Object oriented software design and development through use of the Java programming language. Topics include team programming, design patterns, graphical user interfaces, software engineering tools (eg., integrated development environments, version control, build management, bug tracking, automated testing).
Laboratory Science III (Need not be related to the Laboratory Science Sequence Courses.) (4 cr.)
MATH205 Statistical Methods -OR- MATH350 Probability Theory (3 or 4 cr.)
CPEG202 - Introduction to Digital Systems (3 cr.) [SPRING ONLY!!!]
General/Breadth Electives (3 cr.)
Fall semester:
CISC360 - Computer Architecture (3 cr.) [FALL ONLY!!!] CISC 355 - Computer Ethics and Society (3 cr.)
ENGL312 - Written Communication in Business -OR- ENGL410 - Technical Writing (3 cr.) [see also: Arts & Science Second Writing Course Requirement]
Concentration course 1 (3 cr.)
Math/Science Elective Course (see [math/science options]) (3 cr.)
Spring semester: CISC303 - Automata Theory (3 cr.) [SPRING ONLY!!!] CISC320 - Introduction to Algorithms (3 cr.) [SPRING ONLY!!!] CISC361 - Operating Systems (3 cr.) Concentration course 2 (3 cr.)
Fall semester:
CISC Technical Elective 1 (3 cr.)
CISC Technical Elective 2 (3 cr.)
Concentration course 3 (3 cr.)
General/Breadth Electives (6 cr.)
Spring semester:
CISC475 - Advanced Software Engineering (3 cr.)
CISC Technical Elective 3 (3 cr.) Concentration course 4 (3 cr.) General/Breadth Electives (6 cr.)
