Undergraduate Studies,
Computer Science Program
Department of Electrical Engineering and Computer
Science
This page contains information on the computer science program that either is not available in the Undergraduate Catalog or is incorrect there. It is maintained by the Director of Undergraduate Studies for the Computer Science Program, Larry Dowdy.
Last update, July 13, 2006.
Checklist for CS Majors:
In order to follow progress toward the CS degree in Engineering (not A&S), an advisor can require the advisees themselves to keep track of the requirements in the curriculum that have been satisfied (and those that have not). An easy way to do that is to fill in a checklist. Checklists are now available below for the engineering BS in computer science. Each is a Word document with checkboxes and other fields that can be filled in to show which classes are being used to satisfy the various requirements.
· Checklist for majors entering 2003
· Checklist for majors entering 2004
· Checklist for majors entering 2005
· Checklist for majors entering 2006
Advanced Placement:
A score of 4 or 5 on the A or AB examination (based on Java) gives 3 hours credit in CS 101.
CS 101, credit-by-examination for:
Students who enter Vanderbilt having already studied programming and problem solving and having a proficiency in Java (equivalent to that provided by CS 101), can take a test to get credit for CS101 by examination. Within the first few weeks of arriving on campus, the student should ask his or her advisor to be directed to the CS101 instructor, who, in cooperation with the Director of Undergraduate Studies, will determine whether the student should be allowed to take the test. If the test is taken and passed at a sufficiently high level, the student earns a "P" and 3 hours of credit in CS 101. (Note that this credit counts as hours in the current semester. If those additional hours cause the total to exceed 18 hours, the student will be charged the per-hour rate in additional tuition for the excess.) Having received credit for CS 101, the student should register to take CS 201 in the spring.
CS 101 or CS 103 required for majors:
For engineering students entering Vanderbilt, their majors have the following requirements regarding introductory programming:
Biomedical Engineering: CS
101 or CS 103
Chemical Engineering: CS
103
Civil Engineering: CS
103
Computer Engineering: CS
101
Computer Science: CS
101
Electrical Engineering: CS
101 or CS 103
Engineering Science: CS
101 or CS 103
Mechanical Engineering: CS
101
CS 103, comparison to CS 101:
CS 103 is designed for engineering students who want to solve engineering problems by writing computer programs that are to be run only by the programmers themselves or by other Matlab programmers. It is not for students whose careers will be spent as a member of a group of programmers writing large programs that are to be run by people unskilled in programming. "Large" here means roughly ten thousand lines of code or more.
There are some strong similarities between CS 101 and CS 103. In each course, the student will learn the same techniques for translating a problem into a programming language, running the program, testing it, and debugging it. The general programming nomenclature is identical, and the fundamental concepts are the same.
The difference lies primarily in the programming language that is used. Java is used in CS 101. C++ is used in CS 201, whose prerequisite is CS 101. Matlab is used in CS 103. Java, and particularly C++, are object oriented languages used by commercial software companies for producing large to huge ("huge" means roughly one million lines of code or more) programs that will be used for years by people who are unskilled in programming. Java and C++ are well suited to the design of very large, robust programs that are written by programming teams and revised repeatedly over periods of years. Matlab, the language of CS 103, is used throughout industry for finding solutions to engineering problems. Matlab is well suited for this purpose because it allows the programmer to write and run a program that gets quickly to the heart of the problem. The problem facing the engineer is typically to use basic engineering principles to predict the behavior of some physical system. Matlab is designed for just this type of problem. A secondary difference is that, because Matlab is designed specifically for engineering problems, the programs that students write in CS 103 tend to be more oriented toward engineering than those in CS 101.