All undergraduate students majoring or minoring in computer
science must have a faculty adviser in the department. They will be assigned an
adviser as entering freshmen or upon deciding on the major/minor. Interested
undergraduates (including minors) should see the Computer Science director of
undergraduate studies (224 NEB)
to declare a major or minor and be assigned a computer science adviser.
A successful major program of study leads to either the
bachelor of science in computer science (B.S.) or the bachelor of arts in
computer science (B.A.). Students in other majors may pursue a minor in
computer science or a minor in computer integrated surgery. Additional
information regarding undergraduate programs can be found in the department's
undergraduate advising manual or on the Web site at www.cs.jhu.edu. Some
students majoring in computer science may be eligible for a concurrent
bachelor's/master's degree program. Every major must follow a program approved
by his/her faculty adviser.
Requirements for the B.S. Degree -- Effective Fall 2006
To meet the course credit requirements for the B.S. in
computer science, the student must complete a minimum of 126 credits. The
basic requirements for the B.S. degree are as follows: 42 credits in
computer science, 22 credits
in mathematics or applied mathematics and
statistics, 16
credits in basic sciences, and 18
credits in
humanities/social sciences.
Details and course recommendations of these
distributional requirements are
below. These requirements add up to 98
credits and fulfill general university
distribution requirements. Of the
remaining 28 elective credits that students choose freely, at least 12
of them must be in the humanities, social sciences, arts or other disciplines
that serve to broaden the student's background. These 12 credits may not be CS,
ECE or math courses. Except for electives, courses should not be taken
on a
satisfactory/unsatisfactory basis. By university policy, no more than 18 D or
D+ credits
can be
counted toward the total credit requirements for a
degree.
Students must take either 600.105 M&Ms or 600.103
Introduction to Computer Science. Each
is a 1-credit S/U course that may only be counted as an elective.
Computer Science
(42 credits):
The following foundational courses in computer
science must be included in a student's program:
Only one of:
AP Computer Science credit (4 or 5 on AB)
600.107 Intro to Programming in Java
600.109 Intro to Programming in C/C++
Each of:
600.104 Computer Ethics
600.120 Intermediate Programming
600.226 Data Structures
600.271 Automata and Computation Theory
600.333 Computer System Fundamentals
·
At least 16 credit hours, not including 600.333,
must be at the 300-level or above. At
least one course in each classification area of Analysis, Applications and
Systems must be chosen. An exhaustive
list of the area classifications for each of our courses may be found on the
department’s Web site.
·
Students must take at least one of the following courses
which contain oral communication components: 600.321/421, 600.324/424, 600.392, 600.446.
·
With the adviser's explicit permission regarding
course selections, up to 6 of the 42 required credits may be taken in the
Department of Electrical and Computer Engineering or the Information Security
Institute.
·
No more than 6 credits of independent study
(including 600.491-492 Computer Science Workshop I, II) and no more than 3
credits of short courses can be counted toward this requirement. However, B.S.
students doing the Senior Honors Thesis (600.519-520) may use an additional
three credits of independent work towards their CS requirements, for a total of
nine credits.
·
600.101 Computer Fluency
cannot be counted toward this requirement, nor toward the 126 credit total.
·
No courses with grades below C- or with
satisfactory/unsatisfactory grades can be used to fulfill this requirement
unless they are not offered for a grade.
Mathematics and Applied Mathematics and Statistics (22
credits):
·
The following courses must be included:
·110.108 Calculus
I
·110.109 Calculus
II
·550.171 Discrete
Mathematics
·
The remaining courses must be 200-level or
above, and must include coverage of both probability and statistics.
Other highly recommended math electives are: Calculus III, Linear Algebra and Differential
Equations. Note that students will need at least six
courses to fulfill the credit requirement. Entrepreneurship courses (551.xxx or
660.xxx) are not acceptable.
Basic Sciences (16 credits):
At least two semesters of physics or two semesters of chemistry,
with the associated laboratory, must be included. The remaining courses must be
chosen in accordance with the list posted on the department Web site, which
includes most 'N' designated courses, but not all.
Humanities/Social Sciences (18 credits):
Six courses in the humanities and social sciences must be
taken, with each course at least 3 credits. These courses must have either an ‘H’ or ‘S’
area designator on them. However, foreign
language courses may be used to satisfy this requirement.
Writing
Requirement:
All B.S. candidates in Computer
Science are required to fulfill the university's requirement of two writing
intensive (W) courses, each at least 3 credits. Students must receive at least
a C- grade or better in these writing courses.
At least one of the following options must be chosen:
060.113 Expository Writing
220.105/106 Intro to Fiction and Poetry Writing
500.211 Technical Communication
Requirements for the B.A. Degree
To meet the course credit requirements for the B.A. in
computer science, the student must complete a minimum of 120 credits. The basic
requirements for the B.A. degree are: 30 credits in computer science, 18
credits in mathematics or applied mathematics and statistics, 12 credits in
basic sciences, 18 credits in humanities/social sciences, and 6 credits in
foreign languages. Details and course recommendations of these distributional
requirements are below. These requirements add up to 84 credits and fulfill
general university distribution requirements. The remaining 36 credits are
electives, to be chosen by the student with the guidance and approval of
his/her adviser. Except for electives, courses should not be taken on a
satisfactory/unsatisfactory basis. By university policy, no more than 18 D or
D+ credits can be counted toward the total credit requirements for a degree.
Students must
take either 600.105 M&Ms or 600.103 Introduction to Computer Science. Each is a 1-credit S/U course that may only
be counted as an elective.
Computer Science (30 credits):
The following foundational courses in computer
science should be included in a student's program:
Only one of:
AP Computer Science credit (4 or 5 on AB)
600.107 Intro to Programming in Java
600.109 Intro to Programming in C/C++
Each of:
600.120 Intermediate Programming
600.226 Data Structures
600.271 Automata and Computation Theory
600.333 Computer System Fundamentals
·
At least 15 credit hours must be at the
300-level or above. With the adviser's permission, up to 6 of the 30 required
credits may be taken in the Department of Electrical and Computer Engineering.
·
The introductory courses 600.101 Computer
Literacy and 600.113 Internet cannot be counted toward this requirement.
However, they can be counted toward the 120 total credits needed for the degree.No more than 3 credits of short courses or 3 credits
of independent study may be applied toward this requirement. However, B.A. students doing the Senior
Honors Thesis (600.519-520) may use an additional 3 credits of independent work
towards their CS requirements, for a total of 6 credits.
·
No courses with grades below C- or with
satisfactory/unsatisfactory
grades may be used to fulfill this requirement unless they are not offered for
a grade.
Mathematics and Applied Mathematics and Statistics (18
credits):
·
The following courses must be included:
·110.108 Calculus
I
·110.109 Calculus
II
·550.171 Discrete
Mathematics
·
At least one course must be 200-level or above.
Highly recommended: Calculus III, Linear Algebra, Differential Equations,
Probability/Statistics. Note that students will need at least five courses to
fulfill the credit requirement. Entrepeneurship courses (551.xxx or 660.xxx)
are not acceptable.
Basic Sciences (12 credits):
At least two semesters of physics or chemistry or a
combination of both, with the associated laboratory, must be included. The
remaining courses must be chosen in accordance with the list posted on the
department Web site, which includes most ‘N’ designated courses, but not all.
Humanities/Social Sciences (18 credits):
Six courses in the Humanities/Social Sciences must be taken,
with each course at least 3 credits. At least two 3-credit courses at the
300-level or above are required. As befits a B.A. degree, students have ample
flexibility to choose courses that broaden the scope of their study, in
consultation with their advisers. A subset of the courses selected to satisfy
this requirement should demonstrate coherence within an area. Any course with
(H) or (S) area designators may fulfill these distributional requirements.
Writing
Requirement:
All B.A. candidates in Computer
Science are required to fulfill the university's requirement of four writing
intensive (W) courses, each at least 3 credits. Students must receive at least
a C- grade in these courses. Highly
recommended, at least one of:
060.113 Expository Writing
220.105/106 Intro to Fiction and Poetry Writing
500.211 Technical Communication
Foreign Languages (6 credits):
Two courses in a foreign language, with a total of at least
6 credits are required. These foreign language credits are separate and in
addition to the 18 required humanities/social sciences credits.
Minor in Computer Science
To satisfy the course credit requirements for a minor in
computer science, a student must take a minimum of seven courses, with a total of
at least 22 credits, earning at least a C- in each course. These must include
four core courses, to provide the student with a foundation, and three
upper-level courses (300-level and above), to allow the student to pursue an
advanced topic in depth.
Core Courses (4):
·
One intro programming course - choose from:
·AP Computer Science
·600.107 Intro to
Programming in Java
·600.109 Intro to
Programming in C/C++
·
600.120 Intermediate Programming
·
600.226 Data Structures
·
600.271 Automata and Computation Theory
·
With the
approval of a faculty member in the Department of Computer Science, serving as
a computer science minor adviser, substitutions for these core courses are
possible.
Upper-Level Courses (3):
These courses should be chosen to form a cohesive minor and
must be accepted by the computer science minor adviser. It is strongly
recommended that students choose all three courses from within one of the three
research areas of analysis, applications, and systems. Each upper level course
description in this catalog includes its area for reference. In addition, a
current listing of courses grouped by area is provided on the departmental web
site.
Short courses cannot be used toward the minor requirements.
Students whose primary major is in the
Whiting
School may use the same courses to
satisfy the requirements of the primary major and also those of a computer
science minor. Students who plan to fulfill requirements for a minor must go to
the Department of Computer Science Director of Undergraduate Studies to declare
the minor and be advised on course selections, and inform the Office of
Academic Advising by the end of their junior year.
Minor in Computer Integrated Surgery
Please see cisstweb.cs.jhu.edu
for program requirements.