• Course Schedule

Course Schedule—Fall 2005

Computer Science

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

   

 

Back to Top

 

Academic Calendar
Undergrad/Grad Students
Faculty
Part-Time Programs
Other Administrative Offices
Commencement
Veterans Benefits
Reports_Data
On-Line ServicesAcademic CalendarUndergrad/Grad StudentsFacultyPart-Time ProgramsOther OfficesA&S/Engineering Catalog
Reports/DataContact UsSite MapGo Right to Log-InHome