| COMPUTER SCIENCE |
| Note: Text highlighted
in red indicates that a change
has been made to the course listing. The red
text indicates the current, updated information. |
| 600.101
(E) |
COMPUTER
FLUENCY LITERACY (4) Houlahan
Limit
14 per section |
Lec.
Sec. 01
02
03
04 |
MTW 11
Th 9
Th 10
W 1 9
W 12 10 |
| 600.102
(E) |
COMPUTER
SCIENCE FOUNDATIONS (4)
Froehlich Limit 15 per
section Pre-req: 600.101 or equiv. Introduction to computer science
for majors and non-majors. Introduces CS through vignettes of
logic and algebra, computer systems and networks, algorithms,
programming languages, computation theory, and selected applications.
Course added 08/10/05 |
Lec.
Sec.01
02
03 |
MTW 1
T
9
T
10
T
11 |
| 600.105
(E) |
M
& Ms: FRESHMEN EXPERIENCE (1)
Houlahan Limit 10 per section
Satisfactory/ Unsatisfactory only This
course is required for all freshmen Computer Science majors. Transfers
into the major and minors may enroll by permission only. Students
will choose three 4-week blocks of meetings with different computer
science professors, focused on a central theme. Active participation
is required. |
Sec. 01
02 |
Th 4
Th 4 |
| 600.106
(E) |
PRE-PROGRAMMING:
ALGORITHMIC THINKING (1)
Vasconcelos-Santillan Limit 20 Satisfactory/ Unsatisfactory only This course
is intended for novice programmers, to be taken before or in conjunction
with 600.107 or 600.109. The purpose is to provide students with
the abstraction and logical thinking tools necessary for writing
computer programs. It will introduce students to fundamental concepts
and algorithms common to many programming languages. Students
will primarily do paper solutions. Short course meets 4 weeks
only |
Sec. 01 |
MTW 2 |
| 600.107
(E) |
INTRODUCTION TO PROGRAMMING IN JAVA (3) Houlahan
Limit 120 Prereq: familiarity with computers. Students without
experience are strongly advised to also take 600.108 or 600.106.
|
Sec. 01 |
MTW 3 |
| 600.108
(E) |
INTRODUCTORY
PROGRAMMING LAB (1) Houlahan
Satisfactory/ Unsatisfactory Limit 16 per section
Coreq:
600.107 or 600.109 The purpose of this course is to give novice
programmers extra hands-on practice with guided supervision. Students
will work in pairs each week to develop working programs, with
checkpoints for each development phase. Sec.
03 canceled 08/30/05 |
Sec. 01
02
03
|
W 5-8pm
Th 1-4
F 9-12
|
| 600.113
(E)
|
INTERNET
(4) Staff Prereq: 600.101 or equivalent
Limit 10 per section Course canceled 08/10/05
|
Lec.
Sec. 01
02
03
|
ThF 9-10:15
T 9
T 10
T 11
|
| 600.120
(E) |
INTERMEDIATE PROGRAMMING (4) Amir Wilson Limit 25 per section Prereq: 600.107 or 600.109
This course covers intermediate to advanced object-oriented
programming in both C++ and Java with a focus on programming techniques,
class design, and the use of class libraries. Topics covered include:
polymorphism, overloading, inheritance, pointers, dynamic memory
allocation, templates, collections, exceptions, and others as
time permits. Students are expected to learn syntax and low-level
language features independently. Coursework involves significant
programming projects in both languages. |
Lec.
Sec. 01
02 |
MTW 2
Th 12
F 1 |
| 600.211
(E) |
UNIX SYSTEM PROGRAMMING (3)
Froehlich Limit 40 Prereq: 600.107/109 Recommended:
600.111 or equivalent |
Sec. 01 |
MTW 3 ThF 2:30-3:45 |
| 600.226
(E,Q) |
DATA
STRUCTURES (3) Froehlich Amir
Intermediate
Programming (600.120) highly recommended Prereq: 600.107 or
600.109
Overview
of Java will be provided. |
Sec. 01 |
ThF 2:30-3:45 |
| 600.271
(E,Q) |
AUTOMATA
& COMPUTATION THEORY (3)
Kosaraju |
Sec. 01 |
MTW 1 |
| 600.315
(E) |
DATABASE SYSTEMS (3) Yarowsky Prereq: 600.226 Students receive credit for 600.315
or 600.415, but not both |
Sec. 01 |
ThF 2:30-3:45 |
| 600.316
(E) |
TRANSACTION
PROCESSING SYSTEMS (3) Burns
Limit 20 Prereq:
600. 315/415 or equivalent, C++ programming Students receive credit for
600.316 or 600.416, but not both This course covers
the design and implementation of transaction processing and database
systems. Topics include transaction semantics, write-ahead logging,
memory management, checkpoints, concurrency control, replication,
restart recovery, and distributed commit protocols. The course
employs examples of advanced database applications to develop
this material. Examples include Internet databases, TP monitors,
multidatabases, and federated databases. Course work includes
a project. [Systems] |
Sec. 01 |
MTW 11 |
| 600.321
(E) |
OBJECT ORIENTED SOFTWARE ENGINEERING SYSTEMS
(3) Smith Prereq:
600.226 and 600.120/121 Students receive credit for 600.321
or 600.421, but not both |
Sec. 01 |
ThF 1-2:15 |
| 600.324
(E) |
NETWORK
SECURITY (3) Monrose Limit
20 Prereq: 600.344/444 and 600.226. 600.121 (or equivalent)
and 600.349/449 recommended. Students may receive credit for 600.324
or 600.424, not both. This course focuses on communication
security in computer systems and networks. The course is intended
to provide students with an introduction to the field of network
security. The course covers network security services such as
authentication and access control, integrity and confidentiality
of data, firewalls and related technologies, web security, anonymity,
and privacy. Course work involves implementing various security
techniques. |
Sec. 01 |
MW 2-3:15 |
| 600.333
(E) |
COMPUTER
SYSTEM FUNDAMENTALS (3)
Masson Prereq:
600.107 or 600.109 Students may receive credit for 600.333
or 600.433, but not both |
Sec. 01 |
MTW 10 |
| 600.348
(E,Q)
|
THEORY OF NETWORK COMMUNICATION (3) Scheidler Prereq: 600.226 and 600.344/444 or Perm. Req'd Some knowledge of probability theory
is helpful. Students receive credit for 600.348 or 600.448
but not both. The course covers current topics in the area
of communication in distributed systems. The first part of the
course gives an introduction to basic network theory and presents
and analyzes strategies for routing, scheduling and load balancing
in distributed systems. The second part of the course focuses
on dynamic overlay networks and fundamental methods for peer-to-peer
systems. Course canceled 06/24/05
|
Sec. 01
|
MTW 1
|
| 600.349
(E) |
INTERNET
PROTOCOLS (3) Terzis Limit
20 Prereq: 600.120 & 600.344/444 Recommended:
600.211 or 600.111 Students
may receive credit for 600.349 or 600.449, but not both.
This course covers the most important Internet protocols in detail.
The goal is to get a solid technical understanding of the Internet's
foundations and a concrete example of complete network protocol
family. The course material will be taken from the textbook but
the students will also be required to read the actual protocol
specifications (RFCs). A major part of this course is the two
group projects where students are going to implement realistic
network protocols. |
Sec. 01 |
ThF 2:30-3:45 |
| 600.363
(E,Q) |
INTRODUCTION TO ALGORITHMS (3)
Awerbuch Prereq: 600.226 or Perm. Req'd. Students may receive credit for
600.363 or 600.463, but not both |
Sec. 01 |
MTW 9 |
| 600.408
(E,Q) |
EMPIRICAL RESEARCH METHODS IN COMPUTER SCIENCE (1) Noah Smith/David Smith Limit 20
Prereq: 600.120 and 600.226 or equivalent Computer programs
are real-world processes that, like complex physical and biological
systems, can be studied in controlled experiments and analyzed
statistically. This course gives a rigorous grounding in empirical
methods for studentsinterested in any area of applied computerscience.
Topics: experimental design, probabilistic modeling, exploratory
dataanalysis, hypothesis testing and systemtuning. Short course
meets 8 weeks only: 10/12 –12/07 (no class on 11/23). |
Sec. 01 |
W 4-5:15 |
| 600.415
(E) |
DATABASE SYSTEMS (3) Yarowsky
Prereq: 600.226 Limit 10 Students may receive credit for
600.315 or 600.415, but not both Cross listed with
Information Security Institute |
Sec. 01 |
ThF 2:30-3:45 |
| 600.416
(E) |
TRANSACTION PROCESSING SYSTEMS (3) Burns Prereq: 600. 315/415 or equivalent, C++ programming
Students may receive credit for 600.316 or 600.416, but
not both CS Graduate students only This course covers
the design and implementation of transaction processing and database
systems. Topics include transaction semantics, write-ahead logging,
memory management, checkpoints, concurrency control, replication, restart recovery, and distributed commit protocols.
The course employs examples of advanced database applications
to develop this material. Examples include Internet databases,
TP monitors, multidatabases, and federated databases. Course work
includes a project. [Systems] |
Sec. 01 |
MTW 11 |
| 600.421
(E) |
OBJECT ORIENTED SOFTWARE ENGINEERING SYSTEMS
(3) Smith Prereq:
600.226 and 600.120/121 Students may receive credit for 600.321
or 600.421, but not both
Cross listed with Information Security Institute |
Sec. 01 |
ThF 1-2:15 |
| 600.424
(E) |
NETWORK
SECURITY (3) Monrose
CS Graduate students
only Prereq: 600.344/444 and 600.226. 600.121 (or equivalent)
and 600.349/449 recommended. Students may receive credit for 600.324
or 600.424, not both. This course focuses on communication security
in computer systems and networks. The course is intended to provide
students with an introduction to the field of network security.
The course covers network security services such as authentication
and access control, integrity and confidentiality of data, firewalls
and related technologies, web security, anonymity, and privacy.
Course work involves implementing various security techniques.
A course project is required.
Cross listed with Information Security Institute |
Sec. 01 |
MW 2-3:15 |
| 600.433
(E) |
COMPUTER
SYSTEM FUNDAMENTALS (3) Masson
Prereq: 600.107 or 600.109 Students may receive credit for 600.333
or 600.433, but not both.
Cross listed with Information Security Institute |
Sec. 01 |
MTW 10 |
| 600.438
(E)
|
ADVANCED
TOPICS IN OPERATING SYSTEMS (3) Shapiro
Limit 20 Prereq: 600.318/418
CS graduate students only, undergrads with permission.
Topics will vary from year to year, usually in the areas of operating
system security, security assurance, resource management, high-performance
microkernels, and similarly advanced subjects. Emphasis in this
course is on understanding not just concepts but their implications
for the whole of the resulting system design. A significant project
may be included. Cross listed with Information Security Institute
Course canceled 04/27/05
|
Sec. 01
|
M 4
T 3-5
|
| 600.439
(E) |
MICROKERNEL
ARCHITECTURE AND DESIGN (3) Shapiro
Limit 20 Prereq: C & UNIX, 600.333/433, 600.318/418
Undergrads by Perm. Only This course will look
at the history of microkernel systems to provide an introduction
and overview and then focus attention on later successful microkernels.
Hand-on project course. For further details see listing at
www.cs.jhu.edu/academics
Course added 04/27/05 |
Sec. 01 |
MTW 10 |
| 600.442
(E,Q) |
CRYPTOGRAPHY AND NETWORK SECURITY (3) Ateniese Limit 20 Prereq: 600.226 and 300-level or above systems
course; 600.271 and 550.171 or equivalent. This course focuses
on algorithms and protocols for secure network communication.
Topics include cryptographic algorithms (DES, Diffie-Hellman,
RSA), authentication, key management,
secure networking, certification, trust management, and secure
electronic commerce.
Cross listed with Information Security Institute |
Sec. 01 |
ThF 1-2:15 |
| 600.445
(E) |
COMPUTER - INTEGRATED SURGERY I (4) Taylor Prereq: 600.226 |
Sec. 01 |
ThF 1-2:15 |
| 600.448
(E,Q)
|
THEORY OF NETWORK COMMUNICATION (3) Scheidler Prereq: 600.226 and 600.344/444
or Perm. Req'd The course covers current topics in the area of communication
in distributed systems. The first part of the course gives an
introduction to basic network theory and presents and analyzes
strategies for routing, scheduling and load balancing in distributed
systems. The second part of the course focuses on dynamic overlay
networks and fundamental methods for peer-to-peer systems. Weekly
assignments. Some knowledge of probability theory is helpful.
Students receive credit for 600.348 or 600.448 but not
both.
Cross listed with Information Security Institute Course canceled 06/24/05
|
Sec. 01
|
MTW 1
|
| 600.449
(E) |
INTERNET
PROTOCOLS (3) Terzis Prereq:
600.120 and 600.344/444 or Perm.
Req’d Recommended 600.211 or 600.111 CS
graduate students only, undergrads with permission. This course
covers the most important Internet protocols in detail. The goal
is to get a solid technical understanding of the Internet's foundations
and a concrete example of complete network protocol family. The
course material will be taken from the textbook but the students
will also be required to read the actual protocol specifications
(RFCs). A major part of this course is the two group projects
where students are going to implement realistic network protocols.
Students receive credit for 600.349 or 600.449 but not
both.
Cross listed with Information Security Institute |
Sec. 01 |
ThF 2:30-3:45 |
| 600.461
(E,Q) |
COMPUTER
VISION (3) Hager Prereq:
600.226 |
Sec. 01 |
ThF 9-10:15 |
| 600.463
(E,Q) |
ALGORITHMS
I (3) Awerbuch Prereq:
600.226 or Perm. Req'd. Students
may receive credit for 600.463 or 600.363, but not both.
Cross listed with Information Security Institute |
Sec. 01 |
MTW 9 |
| 600.465
(E)
|
NATURAL LANGUAGE PROCESSING (3)
Eisner Limit 30 Prereq: 600.226 Previous exposure
to probability or linguistics may be helpful. This course is
an in-depth overview of techniques for processing human language.
How should linguistic structure and meaning be represented? What
algorithms can recover them from text? And crucially, how can
we build statistical models to choose among the many legal answers?
The course covers methods for trees (parsing and semantic interpretation),
sequences (finite-state transduction such as morphology), and
words (sense and phrase induction), with applications to practical
engineering tasks such as information retrieval and extraction,
text classification, part-of-speech tagging, speech recognition
and machine translation. There are a number of structured but
challenging programming assignments.
Course canceled 08/30/05
|
Sec. 01
|
MTW 2
|
| 600.491
(E) |
COMPUTER
PROGRAMMING WORKSHOP I Consent
of Faculty supervisor required
Sec. 01 - Masson
Sec. 02 - Kosarju
Sec. 03 - Awerbuch
Sec. 04 - Taylor
Sec. 05 - Smith
Sec. 06 - Goodrich
Sec.
07 - Houlahan Brill
Sec.
08 - Salzberg
Sec.
09 - Hager
Sec.
10 - Wolff
Sec.
11 - Kumar
Sec.
12 - Amir
Sec.
13 - Yarowsky
Sec.
14 - Cohen
Sec.
15 - Burns
Sec.
16 - Eisner
Sec.
17 - Shapiro
Sec.
18 - Scheideler
Sec.
19 - Stanton
Sec.
20 - Anteniese
Sec.
21 - Rubin
Sec.
22 - Monrose
Sec.
23 - Terzis
Sec.24 -
Scheinerman
Sec. 25 - Winslow
Sec. 26 - Kazhdan
Sec. 27 - Jelinek |
|
|
| 600.501 |
INDEPENDENT
STUDY - FRESHMEN, SOPHOMORES Individual, guided study
under the direction of a faculty member in the department. The
program of study, including the credit to be assigned, must be
worked out in advance between the student and the faculty member
involved. Permission required. See 600.491 for faculty section
numbers |
|
|
| 600.503 |
INDEPENDENT
STUDY - JUNIORS,
SENIORS
Individual, guided
study under the direction of a faculty member in the department.
The program of study, including the credit to be assigned, must
be worked out in advance between the student and the faculty member
involved. Permission required. See 600.491 for faculty section
numbers |
|
|
| 600.507 |
INDEPENDENT
RESEARCH
Individual research under the direction of a faculty member in
the department. The program of research, including the credit
to be assigned, must be worked out in advance between the student
and the faculty member involved. Permission required. See 600.491
for faculty section numbers |
|
|
| 600.509 |
COMPUTER
SCIENCE INTERNSHIP
Individual work in the field with a learning component, supervised
by a faculty member in the department. The program of study and
credit assigned must be worked out in advance between the student
and the faculty member involved. Students may not receive credit
for work that they are paid to do. As a rule of thumb, 40 hours
of work is equivalent to one credit. Perm. Req’d. See 600.491
for faculty section numbers |
|
|
| 600.519 |
SENIOR
HONOR THESIS (3) Prereq: 3.5 GPA in C.S. courses at end
of junior year and permission of faculty sponsor - C.S. majors
only - See 600.491 for faculty section numbers
The student will undertake a substantial independent research
project under the supervision of a faculty member, potentially
leading to the notation "Departmental Honors with Thesis"
on the final transcript. Students are expected to enroll in both
semesters of this course during their senior year. Project proposals
must be submitted and accepted in the preceding spring semester
(junior year) before registration. Students will present their
work publically before April 1st of senior year. They will also
submit a first draft of their project report (thesis document)
at that time. Faculty will meet to decide if the thesis will be
accepted for honors. |
|
|
| 600.546 |
SENIOR
THESIS IN COMPUTER INTEGRATED SURGERY Taylor
Prereq: 600.445 or Perm. Req'd. |
Sec.
01 |
TBA |
| 600.601 |
COMPUTER
SCIENCE SEMINAR Staff Required for all full-time
CS Graduate students |
Sec.
01 |
ThF
10:30-12 |
| 600.643 |
ADVANCED
TOPICS IN COMPUTER SECURITY Rubin Limit 30
Prereq:
any 400 level course in Security, including 600.442/ 443/ 424 or Perm. Req'd
Topics will vary from year to year, but will focus mainly on network
perimeter protection, host-level protection, authentication technologies,
intellectual property protection, formal analysis techniques,
intrusion detection and similarly advanced subjects. Emphasis
in this course is on understanding how security issues impact
real systems, while maintaining an appreciation for grounding
the work in fundamental science. Students will study and present
various advanced research papers to the class. [Systems or Applications]
Cross-listed with Information Security Institute |
Sec.
01 |
ThF
2:30-3:45 |
| 600.659 |
SEMINAR
ON 3D MODEL RECONSTRUCTION Kazdan Prereq: any
600.400 graphics course and linear algebra or Perm. Req'd.
This
seminar will survery a variety of classical and recent techniques
for the reconstruction of 3D models. The course will be decomposed
into three separate parts: (1) reconstruction of models using
computational-geometry-based techniques, (2) reconstruction of
models using surface fitting approaches, and (3) reconstruction
of models using implicit function fitting. Students will be expected
to present two or three papers throughout the semester and will
also need to complete two projects. The first project be an implementation
project, focused on exposing students to some of the technical
challenges of reconstruction by having them implement an existing
method. The second project will be a research project, motivating
students to think about new methods for surface reconstruction.
[Applications or Analysis] Course added 06/24/05
|
Sec.
01 |
MT
2-3:15 |
| 600.726 |
SEMINAR
IN PROGRAMMING LANGUAGES Smith Perm.Req'd
This seminar course covers recent developments in the foundations
of programming language design and implementation. Topics covered
vary from year to year. Cross-listed with Information Security
Institute |
Sec.
01 |
W
11 |
| 600.743
|
SEMINAR
IN SYSTEMS Terzis/Burns
Perm.Req'd
Weekly discussion based on current topics in the broad systems
area. The goal of this effort is to expose all of us to current
research and to foster greater communication and cooperation among
the different groups doing research in the systems area here at
Hopkins. Each student is responsible for reading
the papers and participating in the discussion. Furthermore, every
week one student will be responsible for creating a short presentation
about the paper and leading the discussion. Course
canceled 09/01/05
|
Sec.
01
|
M
5
|
| 600.745 |
SEMINAR
IN CISST Fichtinger
Current research topics in computer integrated surgery, presented
primarily by pre-eminent invited speakers in the field. Co-listed
with 520.744 Cross-listed with Mechanical Engineering
Course added 09/07/05 |
Sec.
01 |
W
12-1:30 |
| 600.757 |
SEMINAR
IN COMPUTER GRAPHICS Cohen,Kazhdan
Perm. Only
Course reviews current research in computer graphics and each
week a participant leads the discussion for the week. |
Sec.
01 |
TBA |
| 600.765 |
SEMINAR
IN NATURAL LANGUAGE PROCESSING Eisner Perm.Req'd
A reading group exploring important current research in the field
and potentially relevant material from related fields. |
Sec.
01 |
Th
4 |
| 600.771
|
SEMINAR
IN THEORY Scheideler Perm. Req'd
This seminar course reviews current research in theoretical computer
science. Course canceled 06/24/05
|
Sec.
01
|
W
4
|
| 600.801 |
DISSERTATION
RESEARCH See 600.809 for faculty section numbers |
|
|
| 600.803 |
GRADUATE
RESEARCH Staff Permission of faculty supervisor
req'd. Independent research for masters or pre-dissertation PhD students. See 600.809 for faculty section numbers |
|
|
| 600.809 |
INDEPENDENT
STUDY
Sec.
01 - Masson
Sec. 02 - Kosarju
Sec. 03 - Awerbuch
Sec. 04 - Taylor
Sec. 05 - Smith
Sec. 06 - Goodrich
Sec. 07 - Brill
Sec. 08 - Salzberg
Sec. 09 - Hager
Sec. 10 - Wolff
Sec. 11 - Kumar
Sec. 12 - Amir
Sec. 13 - Yarowsky
Sec. 14 - Cohen
Sec. 15 - Burns
Sec. 16 - Eisner
Sec. 17 - Shapiro
Sec. 18 - Scheideler
Sec. 19 - Stanton
Sec. 20 - Anteniese
Sec. 21 - Rubin
Sec. 22 - Monrose
Sec. 23 - Terzis
Sec. 24 - Scheinerman
Sec. 25 - Winslow
Sec. 26 - Kazhdan
Sec. 27 - Jelinek |
|
|