Undergraduate Computer Science Curricula at UCD
Undergraduate Computer Science Curricula at UCD
Norman Matloff
Professor of Computer Science
and Chair of the Undergraduate Affairs Committee
May 19, 2000
Undergraduate Majors
- Computer Science (CS), offered through the College of Letters and Science
- Computer Science and Engineering (CSE), offered through the College of Engineering
- both majors may be pursued in conjunction with our Integrated BS/MS program
area | CS | CSE |
|
theory | 3 | 2 |
software (data structures/algs, OS, prog langs, etc.) | 5 | 6 |
architecture (assemby lang, dig design, cache/VM) | 3 | 3 |
electronics (circuits, dig design lab, microprocessors) | | 4 |
computer networks | elective | required |
software engineering | elective | required |
computer elective courses | 4 | 4 |
advanced math | 4 | 1 |
What Students Find Attractive About Each Major
- CS:
- more flexibility, e.g. facilitating a double major in CS and something else,
or at least a minor
- focused on computer science, no engineering
courses
- CSE:
- understand the whole machine, from top to bottom
- learn more on hardware/software interaction
- (perceived) additional range in types of jobs one is prepared for
Quality and Perceptions of Students in the Two Majors
by the Faculty
- Students in both majors take mostly the same core courses in theory, software
and architecture.
- Most faculty are usually unaware of whether a given student is a CS vs. CSE
major.
- Both majors have ``impacted'' status, so entrance into each major is regulated
by fairly high standards. CSE is somewhat more difficult to enter, but there
are many excellent students in each major.
Depth of the Curriculum
An advantage of the quarter system is that we can offer more depth. For example,
students can take:
- 3 undergraduate courses in algorithm analysis.
- 2 undergraduate courses in networks.
- 3 undergraduate courses in architecture.
- 2 undergraduate courses in programming languages.
- 2 undergraduate courses in database systems.
- 3 undergraduate courses in graphics.
- Various specialty courses, e.g. Computer Security, Software Engineering, Parallel
Processing.
- Further study in graduate-level courses.
- Independent study courses (ECS 199).
Some Tools Used
These of course depend on the class and the instructor, but
here is a sample:
- UNIX/Linux/emacs/ddd/perl/etc.
- Code Crusader IDE (coming)
- MAXPLUS II digital design software
- Message Passing Interface (MPI), pthreads
- mawl (AT&T user-interface development)
- OpenGL graphics library
- Oracle RDBMS
- OPNET network simulator (coming)
- MINIX (students modify OS)
Internships, Co-ops, Permanent Jobs Etc.
- Students are STRONGLY urged to work in internships or co-ops at some
point during their undergraduate years.
(About half do. Others have financial constraints preventing them from taking
time off from courses, or time constraints due to being community college transfers,
etc.)
- Internship course credit available via ECS 192.
- Many undergraduates participate in faculty research projects.
- The campus Internship and Career Center maintains a database. We try to work
fairly closely with them.
- We announce positions in our newsgroup, ucd.cs.jobs.
- The Computer Science Club also announces positions.
Quality of Teaching and Advising
- 3 faculty winners of the campus-wide Distinguished Teaching Award.
- 2 faculty winners of the campus-wide Best Faculty Adviser Award.
- 1 graduate student has been named a Chancellor's Teaching Fellow, and another
was selected for the highly competitive Professors for the Future program.
- 7 faculty advisers.
- 1 staff adviser.
- Students required to see faculty adviser at least once per year.
- Informal advising from CS Club and word-of-mouth.
Course Staffing and Structure
- Freshman/sophomore courses typically 100+ students, some taught by ladder faculty,
others taught by grad students or lecturers.
- Upper-division taught mostly by ladder faculty, typical size 50-60 students.
- Almost all courses consist of 3 hours of lecture, 1 hour of discussion section.
The discussion sections are led by TAs.