

For a full listing of course area designators (for program requirements), please click here. Changes to the printed schedule appear in RED. Room assignments have been confirmed as of 8/15/05.
|
600.101 (E) |
COMPUTER FLUENCY (4) Houlahan This course replaces the older version 600.101 Computer Literacy, and will incorporate some topics from 600.113 Internet as well. Students will become fluent with information technology through coverage of basic underlying concepts and use of common applications. Concepts will include the building blocks of computer systems and software, as well as historical perspectives and social implications. Students will learn basic and selected advanced skills with MS Office (word processing, spreadsheets, presentations, databases), as well as webpage design with programming in JavaScript, and unix operating system basics. The goal is to empower students so that they remain skilled computer users and will have confidence and success learning and applying new technologies on their own in the future. Limit 14 per section. |
MTW 11 |
|
600.102 (E) NEW COURSE |
CS FOUNDATIONS (4) Froehlich [Students who previously may have taken 600.103 Intro to CS or 600.113 Internet should consider this course instead.] This course is an introduction to computer science for majors and non-majors. Students are exposed to the discipline through vignettes of logic and algebra, computer systems and networks, algorithms, programming languages, computation theory, and selected applications. CS majors can only take this course in their first semester of CS coursework. Prereq: 600.101 or equiv. knowledge. Limit 15 per section. |
MTW 1 |
|
600.105 (E)
|
M&Ms: FRESHMAN EXPERIENCE (1) Houlahan 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. Satisfactory/Unsatisfactory only. 2 sections - limit 10/section. |
Sec 1: Th 4 Sec 2: Th 4 CS majors only! Shaf 3 (first week) room tba |
|
600.106 (E) |
PRE-PROGRAMMING: ALGORITHMIC THINKING (1) Vasconcelos-Santillan 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 9/19-10/12.Satisfactory/Unsatisfactory only. |
4 weeks 9/19-10/12 |
|
600.107 (E) |
INTRO TO PROGRAMMING IN JAVA (3) Houlahan Students without experience are strongly advised to also take 600.108 or 600.106. Prereq: familiarity with computers. |
MTW 3 |
|
600.108 (E) |
INTRO PROGRAMMING LAB (1) Houlahan Satisfactory/Unsatisfactory only. Must be taken in conjunction with 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 1: We 5-8p Sec 2: Th 1-4p Sec 3: cancelled (was Fr 9a-12) limit 16/section NEB 225 |
|
600.113 (E) CANCELLED |
INTERNET (4) staff Students who were registered for this should consider taking 600.101 or 600.102 instead. Prereq: 600.101 or equiv. Limit 10 per section. |
CANCELLED |
|
600.120 (E)
|
INTERMEDIATE PROGRAMMING (4) Amir This course
covers
intermediate to advanced programming in both C and C++. The
focus of the course is on programming techniques, class design, and the use of
class libraries. Topics to be 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. |
MTW 2 Shaf 202 sections in Shaf 1 limit 25/section Sec 1: Th 12 Sec 2: F 1 |
|
600.211 (E) |
UNIX SYSTEMS PROGRAMMING (3) Froehlich Prereq: 600.120 |
MTW 3 |
|
600.226 (E,Q) |
DATA STRUCTURES (3) Froehlich An overview of JAVA will be provided. Prereq: 600.107 or 600.109.
|
ThF 2:30-3:45 |
|
600.271 (E,Q) |
AUTOMATA and COMPUTATION THEORY (3) Kosaraju
|
MTW 1 |
|
600.315 (E) |
DATABASE SYSTEMS (3) Yarowsky Prereq: 600.226. Students may receive credit for 600.315 or 600.415, but not both. |
ThF 2:30-3:45 |
|
600.316 (E) |
TRANSACTION PROCESSING SYSTEMS (3) Burns 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]Prereq: 600.315/415 or equiv., C++ programming. Students may receive credit for 600.316 or 600.416, but not both. |
MTW 11 |
|
600.321 (E) |
OBJECT ORIENTED SOFTWARE ENGINEERING (was Systems) (3) Smith Prereq: 600.226 and 600.120/121. Students may receive credit for 600.321 or 600.421, but not both. |
ThF 1-2:15 |
|
600.324 (E) |
NETWORK SECURITY (3) Monrose 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.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. |
MW 2-3:15 |
|
600.333 (E) |
COMPUTER SYSTEM FUNDAMENTALS (3) Masson Prereq: 600.107/600.109. Students may receive credit for 600.333 or 600.433, but not both. |
MTW 10 |
600.348 (E,Q) |
THEORY OF NETWORK COMMUNICATION (3) Scheideler 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.Prerequisite: 600.226; 600.344/444 recommended. [Analysis] Students receive credit for 600.348 or 600.448, but not both. |
CANCELLED |
|
600.349 (E) |
INTERNET PROTOCOLS (3) Terzis 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. In addition to the projects, there will be homework assignments, a midterm and a final. [Systems]Prerequisites: 600.120 and 600.344/600.444. 600.211 (or 600.111) is recommended but not required. Students may receive credit for 600.349 or 600.449, but not both. |
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. |
MTW 9 |
|
600.408 (E,Q) |
EMPIRICAL RESEARCH METHODS IN CS (1) NA Smith & DA Smith 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 students interested in any area of applied computer science. Topics: experimental design, probabilistic modeling, exploratory data analysis, hypothesis testing, and system tuning. Short course meets 8 weeks only: 10/12-12/7 (no class on 11/23). Prereq: 600.120 and 600.226, or equivalent knowledge. |
W 4-5:15 |
|
600.415 (E) |
DATABASE SYSTEMS (3) Yarowsky Prereq: 600.226. Description:Same as 600.315. Students may receive credit for 600.315 or 600.415, but not both. |
ThF 2:30-3:45 |
|
600.416 (E) |
TRANSACTION PROCESSING SYSTEMS (3) Burns 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]Prereq: 600.315/415 or equiv., C++ programming. Students may receive credit for 600.316 or 600.416, but not both. |
MTW 11 |
|
600.421 (E) |
OBJECT ORIENTED SOFTWARE ENGINEERING (was SYSTEMS) (3) Smith Prereq: 600.226 and 600.120/121. Students may receive credit for 600.321 or 600.421, but not both. |
ThF 1-2:15 |
|
600.424 (E) |
NETWORK SECURITY (3) Monrose 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.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. |
MW 2-3:15 |
|
600.433 (E) |
COMPUTER SYSTEMS (3) Masson Prereq: 600.107/600.109. Students may receive credit for 600.333 or 600.433, but not both. |
MTW 10 |
|
600.438 (E) CANCELLED (see 600.439 below) |
ADVANCED TOPICS IN OPERATING SYSTEMS (3) Shapiro 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. Prereq: 600.318/418. |
CANCELLED (was M 4, T 3-5) limit 20 |
|
600.439 (E) NEW COURSE |
MICROKERNEL ARCHITECTURE AND DESIGN (3) Shapiro Microkernels are commonly used in embedded applications, and have been suggested as a way to better structure general-purpose operating systems. The idea is simple: most of the function of a classical operating system can (and arguably should) be implemented as applications. The practice is quite another matter. Finding a microkernel architecture that effectively supports high performance, robust systems has proven to be a very elusive challenge. This course will look at the history of microkernel systems to provide an introduction and overview, and then focus our attention specifically on later, successful microkernels -- most notably the L4 nucleus and the EROS nucleus. We will explore the architectural, design, and implementation issues in these kernels in depth, examining them both from the perspective of effectiveness and also from the perspective of adherence to principled design. We will also explore the tools and techniques that are used to analyze these systems. The course is a hands-on project course. Starting from a supplied, simple embedded kernel, students will progressively enhance a microkernel into a fully functional, minimal operating system. This project will be divided into several well-defined stages, each of which will be attacked by project teams. [Systems] Prereq: Thorough knowledge of C and UNIX, 600.333/433 & 600.318/418. |
MTW 10 limit 20 |
|
600.442 (E,Q) |
CRYPTOGRAPHY AND NETWORK SECURITY (3)
Ateniese
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. |
ThF 1-2:15 |
|
600.445 (E) |
COMPUTER INTEGRATED SURGERY I (4) Taylor Prereq: 600.226 |
ThF 1-2:15 |
600.448 (E,Q) |
THEORY OF NETWORK COMMUNICATION (3) Scheideler 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. Prerequisite: 600.226; 600.344/444 recommended. [Analysis] Students receive credit for 600.348 or 600.448, but not both. |
CANCELLED |
|
600.449 (E) |
INTERNET PROTOCOLS (3) Terzis 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. In addition to the projects, there will be homework assignments, a midterm and a final. [Systems]Prerequisites: 600.120 and 600.344/600.444. 600.211 (or 600.111) is recommended but not required. Students may receive credit for 600.349 or 600.449, but not both. |
ThF 2:30-3:45 |
|
600.461 (E,Q) |
COMPUTER VISION (3) Hager Prereq: 600.226 |
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.363 or 600.463, but not both. |
MTW 9 |
|
600.465 (E) CANCELLED |
NATURAL LANGUAGE PROCESSING (3) Eisner 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. Prerequisite: 600.226. Previous exposure to probability or linguistics may be helpful. |
cancelled |
|
600.491 (E) |
COMPUTER SCIENCE WORKSHOP I Perm. of faculty supervisor req'd. |
See below for faculty section numbers |
|
600.501 |
INDEPENDENT STUDY (Freshman, Sophomore)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 below for faculty section numbers |
|
600.503 |
INDEPENDENT STUDY (Junior, Senior)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 below for faculty section numbers |
|
600.507 |
INDEPENDENT RESEARCH Independent 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 below 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. Permission required. |
See below for faculty section numbers |
|
600.519 |
SENIOR HONORS THESIS (3) For computer science majors only. 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. Prerequisite: 3.5 GPA in Computer Science after spring of junior year and permission of faculty supervisor. |
See below for faculty section numbers |
|
600.546 (E) |
SENIOR THESIS IN COMPUTER INTEGRATED SURGERY (3) Prereq: 600.445 or perm req'd. |
Section 1: Taylor |
|
600.601 |
Required for all full-time graduate students. |
ThF 10:30-12 |
|
600.643 |
ADVANCED TOPICS IN COMPUTER SECURITY
Rubin 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. There will be homework assignments and a course project. [Systems or Applications] Prereq: any 600.4xx course in computer security or cryptography including 600.442, 600.443 or 600.424; or permission of instructor. |
ThF 2:30-3:45 |
|
600.659 NEW COURSE! |
SEMINAR ON 3D MODEL RECONSTRUCTION
Kazhdan 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 will 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] Prereq: any 600.4xx course in computer graphics & linear algebra; or permission of instructor. |
MT 2-3:15 |
|
600.726 |
SEMINAR IN PROGRAMMING LANGUAGES Smith
This seminar course covers recent developments in the foundations of programming language design and implementation. Topics covered vary from year to year. Students will present papers orally. Prereq: permission of instructor |
W 11-12 |
|
600.743 |
SEMINAR IN SYSTEMS Terzis/Burns
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.
|
cancelled |
|
600.745 NEW COURSE |
SEMINAR IN COMPUTER INTEGRATED SURGERY Fichtinger
This weekly seminar will focus on research issues in computer integrated surgery, including subjects such as medical image analysis, statistical modeling, visualization, vision/sensing, surgical planning, medical robotics, and clinical applications. The purpose of the course is to widen the knowledge and awareness of the participants in current research in these areas, as well as to promote greater awareness and interaction between multiple research groups within the University and beyond. The format of the course is informal presentation by a pre-eminent invited speaker, followed by free discussion. |
W 12-1:30 |
|
600.757 |
SEMINAR IN COMPUTER GRAPHICS Kazhdan
In this course we will review current research in computer graphics. We will meet for an hour once a week and one of the participants will lead the discussion for the week. Permission required. |
TBA |
|
600.765 |
SEMINAR IN NATURAL LANGUAGE PROCESSING Eisner
A reading group exploring important current research in the field and potentially relevant material from related fields. Enrolled students are expected to present papers and lead discussion. Pass/Fail only. |
Th 4 |
|
600.771 |
SEMINAR IN
THEORY Scheideler
This seminar course reviews current research in theoretical computer science. Students will read, present and discuss papers in weekly meetings. Pre-req: permission of instructor. |
CANCELLED |
|
600.801 |
DISSERTATION RESEARCH |
See below for faculty section numbers. |
|
600.803 |
GRADUATE RESEARCH Independent research for masters or pre-dissertation PhD students. Permission required. |
See below for faculty section numbers. |
|
600.809 |
INDEPENDENT STUDY (graduate students)Permission required. |
See below for faculty
section numbers. |
01 - Masson 02 - Kosaraju 03 - Awerbuch 04 - Taylor 05 - Smith 06 - Goodrich 07 - Brill 08 - Salzberg 09 - Hager 10 - Wolff 11 - Kumar 12 - Amir 13 - Yarowsky 14 - Cohen 15 - Burns 16 - Eisner 17 - Shapiro 18 - Scheideler 19 - Stanton 20 - Ateniese 21 - Rubin 22 - Monrose 23 - Terzis 24 - Scheinerman 25 - Winslow 26 - Kazhdan 27 - Jelinek