| •
Course Schedule
|
| Note:
Text highlighted in red indicates
that a change has been made to the course listing. The red
text indicates the current, updated information. |
| COMPUTER SCIENCE |
| 600.101 (E) |
COMPUTER LITERACY (4) Beach Limit 14 per section
In this introduction to computers and information technology,
students develop an appreciation of the capabilities of computers
and a basic proficiency in their uses. Survey topics include the
history of computing and the principle components of a computer
system. Students discuss and use application software including
databases, word processors, spreadsheets, presentation software,
electronic mailers, network bulletin boards, and the world wide
web. Students also learn elementary programming. Course assignments
require daily computer use and give students a familiarity with
both PC and UNIX platforms. A group project is required.
Sec.
07 canceled 02/08/05 |
Lec.
Sec. 01
02
03
04
05
06
07
|
ThF 9-10:15
T 8
T 9
T 10
T 11
Th 8
M 10
M 11
|
| 600.103 (E) |
INTRODUCTION TO COMPUTER SCIENCE (1) Houlahan Limit 120 Department faculty take turns
presenting their research areas to give a broad perspective on
the discipline of computer science.
Satisfactory/Unsatisfactory only |
Sec.
01 |
Th
4 |
| 600.106 (E) |
PRE-PROGRAMMING:
ALGORITHMIC THINKING (1) Vasconcelos-Santillan Limit 20 S-V only Meets 2/7-3/2 only Course added 11/18/04 |
Sec. 01 |
MTW 4 |
| 600.108 (E) |
INTRODUCTION TO PROGRAMMING LAB (1) Houlahan Limit 26 per section Coreq: 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. Satisfactory/Unsatisfactory
only |
Sec. 01
02
03 |
W 5-8pm
Th 1-4
F 9-12 |
| 600.109 (E) |
INTRODUCTION TO PROGRAMMING IN C/C++ (3) Houlahan Limit 120 Prereq: Familiarity with computers.
This course introduces the
fundamental programming concepts and techniques in C and C++,
the languages most commonly used in modern programming applications.
The course is intended for all who plan to use computer programming
in their studies and careers. Topics covered include: control
structures, arrays, functions, recursion, dynamic memory allocation,
simple data structures, files, and structured program design.
Elements of object-oriented design and programming are introduced.
The main emphasis of the course is on teaching students to produce
efficient, working programs to solve practical computing problems.
Students without prior programming experience are encouraged
to co-register for 600.108 |
Sec. 01 |
MTW 3 |
| 600.113 (E) |
INTERNET (4) Beach Limit 10 per section
Prereq: 600.101 or equivalent knowledge. This course defines and provides a brief history of the Internet, introduces
issues relating to computer networking and discusses how the Internet
protocols (such as TCP/IP and DNS) handle these issues. Covered
are the basic networking facilities (remote login, file transfer,
e-mail, net-news, browsers, search, etc.). UNIX commands and their
PC counterparts are utilized. Course assignments require daily
computer use and interaction amongst the students. By writing
web pages, the students learn HTML, Javascript and file formats.
The course project requires each student to create their own website.
Sec.01
canceled 01/18/05 |
Lec.
Sec. 01
02
03
04
05 |
ThF10:30-11:45
W 8
W 9
W 10
W 11
Th 9 |
| 600.120 (E) |
INTERMEDIATE PROGRAMMING (4) Burns Limit 25 per section Prereq: 600.107
or 600.109. Students who have taken 600.118 or 600.121 may
not take this course. This course replaces 600.118 and 600.121 in this and future semesters. It
covers intermediate to advanced object-oriented programming in
both C++ and Java. 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. |
Lec.
Sec. 01
02 |
MTW 3
Th 11
F 12 |
| 600.226 (E,Q) |
DATA STRUCTURES (3) Hager Wilson
Prereq: 600.107 (preferred) or 600.109 required; Intermediate
Programming highly recommended. This course covers the design
and implementation of data structures including arrays, stacks,
queues, linked lists, binary trees, heaps, balanced trees (e.g.
2-3 trees, AVL-trees) and graphs. Other topics include sorting,
hashing, memory allocation, and garbage collection. Course work
involves both written homework and Java programming assignments. |
Sec. 01 |
ThF 9-10:20 10:30-11:45 |
| 600.318 (E) |
OPERATING SYSTEMS (4) Shapiro Prereq: 600.226, 600.333, 600.211
(or 600.111 or equivalent). Students may receive credit for 600.318
or 600.418 but not both. This course covers the fundamental topics
related to operating systems theory and practice. Topics include
processor management, storage management, concurrency control,
multi-programming and processing, device drivers, operating system
components (e.g., file system, kernel), modeling and performance
measurement, protection and security, and recent innovations in
operating system structure. Course work includes the implementation
of operating systems techniques and routines, and critical parts
of a small but functional operating system. |
Sec. 01 |
M 4, T 3-5 |
| 600.325 (E) |
DECLARATIVE
METHODS (3) Eisner
Limit 20 Prereq: 600.226 & 600.271 & Calculus II Students get
credit for 600.325 or 425, not both Suppose
you could simply write down a description of your problem, and
let the computer figure out how to solve it. What notation could
you use? What strategy should the computer then use? In this
survey class, you'll learn to recognize when your problem is a
special case of satisfiability, integer programming, rational
pattern transduction, Bayesian network inference, or weighted
logic programming. For each of these paradigms, you'll learn
to reformulate hard problems in the required notation and apply
off-the-shelf software that can solve *any* problem in that notation
-- including many of the problems you'll see in other courses
and in the real world. You'll also gain some understanding of the general-purpose
algorithms that power the software. [Analysis] |
Sec. 01 |
MTW 2 11 |
| 600.335 (E) |
ARTIFICIAL INTELLIGENCE AND ROBOTICS (3) Sheppard Hager
Limit 30 Prereq: 600.226 , 550.171; Recommended: Linear Algebra, Prob/Stats
Artificial intelligence
(AI) is introduced by studying knowledge representation mechanisms,
automated reasoning, automatic problem solvers and planners, production
systems, game playing and machine learning. These problems will
be studied in the context of intelligent mobile systems. Additional
problems specific to mobile robotics, including path planning
and map building, will also be covered. The class is recommended
for all scientists and engineers with a genuine curiosity about
the fundamental obstacles to getting machines to perform tasks
such as deduction, learning, and planning and navigation |
Sec. 01 |
ThF 4-5:15 9-10:15 |
| 600.344 (E) |
COMPUTER NETWORK FUNDAMENTALS (3) Masson Prereq: 600.333 or 600.433
or Perm. Req’d Students may receive credit for 600.344
or 600.444 but not both. This course considers intrasystem communications
issues. Topics covered include layered network architectures;
the OSI model; bandwidth, data rates, modems, multiplexing, error
detection/correction; switching; queuing models, circuit switching,
packet switching; performance analysis of protocols, local area
networks; and congestion control. |
Sec. 01 |
MTW 11 |
| 600.357 (E,Q) |
COMPUTER
GRAPHICS (3) Kazhdan
Limit 20 Prereq: 600.120, 600.226, linear algebra. or Perm Req’d
Students may receive credit for 600.357 or 600.457, but not both.
This course introduces computer graphics techniques and applications, including
image processing, rendering, modeling and animation. |
Sec.
01 |
MTW
11 |
| 600.371 (E,Q) |
MODERN COMPLEXITY THEORY (3) Scheideler Limit 20 Prereq: 600.271 or Perm. Req’d. Topics
covered will be polynomial complexity classes and beyond, complexity
of logic and arithmetics, cryptography and complexity, interactive
proof systems and probabilistically checkable proofs, inapproximability,
and new directions including Quantum computing and complexity
of evolutionary systems. |
Sec.
01 |
MTW
1 |
| 600.391 (E) |
AGILE
SOFTWARE DEVELOPMENT (3) Wilson Limit 20 Prereq: 600.120 & 600.226 or
Perm. Req’d. Recommended: 600.321. This course will teach the
principles of Agile Software Development Methodologies, focusing
on Extreme Programming and give students experience working on
medium to large projects. Student groups will work on semester-long
projects that ideally will build upon existing systems.
Course added 01/18/05 |
Sec.
01 |
ThF
10:30-11:45 |
| 600.402 (E) |
MEDICAL INFORMATICS (1) Lehmann/Orlova Limit 50
Short course: 01/31/05 – 2/23/05 Computers and information
technology has become major forces in transforming American medicine.
We shall discuss some of the new entities---the computer-based
patient record, clinical practice guidelines, and digital libraries---and
their underlying technologies: networks, databases, controlled
vocabularies, and decision analysis. Cross-listed with JHUISI |
Sec.
01 |
MW
4-5:15 |
| 600.418 (E) |
OPERATING SYSTEMS (3) Shapiro Limit 10 Prereq: 600.226, 600.333,
600.211 (or 600.111 or equivalent) Graduate level version of
600.318 Students may receive credit for 600.318 or 600.418 but
not both. |
Sec.
01 |
M
4, T 3-5 |
| 600.425 (E) |
DECLARATIVE
METHODS (3) Eisner Prereq: 600.226, 600.271, Calculus II Suppose
you could simply write down a description of your problem, and
let the computer figure out how to solve it. What notation could
you use? What strategy should the computer then use? In this
survey class, you'll learn to recognize when your problem is a
special case of satisfiability, integer programming, rational
pattern transduction, Bayesian network inference, or weighted
logic programming. For each of these paradigms, you'll learn
to reformulate hard problems in the required notation and apply
off-the-shelf software that can solve *any* problem in that notation
-- including many of the problems you'll see in other courses
and in the real world. You'll also gain some understanding of
the general-purpose algorithms that power the software. Students get credit for 600.325 or 425, not both. CS
grads only. |
Sec. 01 |
MTW 2 11 |
| 600.426 (E,Q) |
PROGRAMMING LANGUAGES (3) Smith Limit 20
plus CS Grads Prereq: 600.226 Functional, object-oriented, and other language features are studied independent
of a particular programming language. Students become familiar
with these features by implementing them. Most of the implementations
are in the form of small language interpreters. Some type checkers
and a small compiler will also be written. The total amount of
code written will not be overly large, as the emphasis is on concepts.
The ML programming language is the implementation language used. |
Sec. 01 |
ThF 1-2:15 |
| 600.435 (E) |
ARTIFICIAL INTELLIGENCE AND ROBOTICS (3) Sheppard Hager
Limit 10 plus CS Grads Prereq: 600.226, 550.171 Recommended: Linear Algebra,
Prob/Stats Graduate level version of 600.335 |
Sec. 01 |
ThF 4-5:15 9-10:15 |
| 600.443 (E) |
SECURITY AND PRIVACY IN COMPUTING (3) Rubin Limit 20 Prereq: Basic course
in operating systems & networks or Perm. Req’d Graduate
students only initially Lecture
topics will include computer security, network security, basic
cryptography, system design methodology, and privacy. There will
be a heavy workload, including written homework, programming assignments,
exams and a comprehensive final. The class will also include a
semester -long project that will be done in teams and will include
a presentation by each group to the class. [Applications] (was
Systems previously) Cross-listed with JHUISI |
Sec. 01 |
ThF 2:30-3:45 |
| 600.444 (E) |
COMPUTER NETWORKS (3) Masson Limit 10 plus CS Grads Prereq:
600.333 or 600.433 or Perm. Req’d. Students may receive
credit for 600.344 or 600.444 but not both. Graduate level version of 600.344 |
Sec. 01 |
MTW 11 |
| 600.446 (E) |
COMPUTER INTEGRATED SURGERY II (3) Taylor Limit 20 plus CS Grads
Prereq: 600.445 or Perm. Req’d This weekly lecture/seminar
course addresses similar material to 600.445, but covers selected
topics in greater depth. In addition to material covered in lectures/seminars
by the instructor and other faculty, students are expected to
read and provide critical analysis/ presentations of selected
papers in recitation sessions. Students taking this course are
required to undertake and report on a significant term project
under the supervision of the instructor and clinical end users.
Typically, this project is an extension of the term project from
600.445, although it does not have to be. Grades are based both
on the project and on classroom recitations. Students wishing
to attend the weekly lectures as a 1-credit seminar should sign
up for 600.452. Students may also take this course as 600.646.
The only difference between 600.446 and 600.646 is the level of
project undertaken. Typically, 600.646 projects require a greater
degree of mathematical, image processing, or modeling background.
Prospective students should consult with the instructor as to
which course number is appropriate. Students may receive credit
for 600.446 or 600.646, but not both. |
Sec. 01 |
ThF 1-2:15 |
| 600.452 (E) |
COMPUTER INTEGRATED SURGERY SEMINAR (1) Taylor Lecture version of 600.446
(no project) Prereq: 600.445 or Perm. Req’d Students
may receive credit for 600.446 or 600.452, but not both. |
Sec. 01 |
ThF 1-2:15 |
| 600.457 (E,Q) |
COMPUTER
GRAPHICS (3) Kazhdan Limit 10 plus CS grads Prereq: 600.120, 600.226, linear algebra or
Perm. Req’d. Graduate level version of 600.357. Students may receive
credit for 600.357 or 600.457, but not both. |
Sec. 01 |
MTW 11 |
| 600.460 (E) |
INTERACTIVE
GRAPHICS & GAMES (3) Cohen Limit 15 plus CS Grads Prereq: 600.357/457 or 600.356/456 or
Perm. Req’d. This course studies a variety of
techniques for creating interactive graphics applications. Students
collaborate in small groups to design and implement their own
3D games. |
Sec. 01 |
MW 2-3:15 |
| 600.462 (E) |
ADVANCED
TOPICS IN COMPUTER VISION (3) Vidal Prereq: 600.461 + Linear Algebra or Perm. Req’d. Co-listed
with 580.464 Course added 11/18/04 |
Sec. 01 |
TW 4:45-6pm MT 4:30-6pm |
| 600.464 (E,Q) |
RANDOMIZED ALGORITHMS (3) Kosaraju Prereq: 600.463 or 600.363 Students may receive credit for 600.464 or 600.664,
but not both. Selected topics in algorithm design and analysis such
as advanced data structures, amortization, graph algorithms, algebraic
complexity, network flow, circulations, matching, randomization. |
Sec. 01 |
MTW 2 |
| 600.471 (E,Q) |
MODERN COMPLEXITY THEORY (3) Scheideler Limit 10 plus CS Grads Graduate level versioon of 600.371 Prereq: 600.271 or Perm. Req’d. Students may receive credit for 600.371 or 600.471, but not both. |
Sec. 01 |
MTW 1 |
| 600.492 (E) |
COMPUTER SCIENCE WORKSHOP II Perm. Req’d When registering please use the following faculty section
numbers:
Sec. 01- Masson
02 - Kosaraju
03 - Awerbuch
04 - Taylor
05 - Smith
06 - Goodrich
07 - Brill
08 - Salzber
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 |
Sec. 01-26 |
TBA |
| 600.502 |
INDEPENDENT STUDY - FRESHMEN & SOPHOMORES When registering please use
faculty section numbers listed under 600.492 Sec. 27 added 01/31/05 |
Sec. 01-27 |
|
| 600.504 |
INDEPENDENT STUDY – JUNIORS & SENIORS When registering please use faculty
section numbers listed under 600.492 Sec.27 added 01/31/05 |
Sec. 01-27 |
|
| 600.508 |
UNDERGRADUATE RESEARCH When registering please use faculty section numbers
listed under 600.492 Sec.27 added 01/31/05 |
Sec. 01-27 |
|
| 600.510 |
COMPUTER
SCIENCE INTERNSHIP When registering please use faculty section numbers listed under 600.492
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. Sec.27 added 01/31/05 |
Sec. 01-27 |
|
| 600.520 |
SENIORS HONORS THESIS When registering please use faculty section numbers
listed under 600.492 For computer science majors only, a continuation of
600.519. |
Sec. 01-26 |
|
| 600.546 (E) |
SENIOR THESIS IN COMPUTER INTEGRATED SURGERY (3) Taylor Prereq: 600.445 or Perm. Req’d. |
Sec.
01 |
|
| 600.602 |
COMPUTER SCIENCE SEMINARS Staff Required for all CS grad students |
Sec.
01 |
ThF10:30-12 |
| 600.624 |
ADVANCED TOPICS IN NETWORK SECURITY Monroe Limit 20 Prereq: 600.324/424,
600.442 or Perm. Req'd This course focuses on advanced
research topics in communications security. The course is structured
as a research seminar where students present research papers to
the class. Topics include protocol analysis, security in inter-domain
routing, broadcast authentication protocols, covert channels and
anonymous communication, key management, advanced traceback schemes,
attache propagation modeling, among others. A course project is
required.[Systems] Cross-listed with JHUISI |
Sec.
01 |
ThF
1-2:15 |
| 600.642 |
ADVANCED CRYPTOGRAPHIC PROTOCOLS Ateniese Prereq: 600.442 or 600.443 or
Perm. Req'd This course will focus on advanced crytographic protocols
with an emphasis on open research problems. [Applications] Cross-listed
with JHUISI |
Sec.
01 |
ThF
2:30-3:45 |
| 600.646 |
COMPUTER INTEGRATED SURGERY II Taylor Limit 20 Prereq:
600.445 or Perm. Req’d Students may receive credit for
600.446 or 600.646, but not both. Advanced version of 600.446.
|
Sec. 01 |
ThF 1-2:15 |
| 600.647 |
ADVANCED TOPICS IN WIRELESS NETWORKS Awerbuch
Prereq: 600.344/444,
600.363/463 or Perm. Req’d Introduction to wireless
communication networks. Algorithms for ad hoc networks: Routing,
Multicasting, Mac-Layer. Security issues: denial of service, authentication,
black hole attacks. Introduction to wireless networks Simulators
(Glomosim). The course will be structured as a research seminar
with student presentations, with emphasis on systems issues. Students
will be expected to complete a medium size programming/simulation
project and to summarize it in publishable document. [Systems
or Analysis] |
Sec. 01 |
MTW 10 |
| 600.649 |
SENSOR
NETWORKS Terzis
Limit 20 Prereq: 600.349/449 or Perm Req’d. Course topics will include application-driven network architectures,
emerging platforms and technology, resource constrained real-time
OSs, media access control, distributed algorithms in lossy wireless
networks, ad hoc multihop routing, pseudo-geographic routing,
in-network aggregation and processing, multi-resolution storage,
compression and source-coding, time synchronization, coverage
and density, ranging and localization, resilient aggregators,
tracking, capacity, distributed feature extraction, tracking,
and collaborative signal processing. We will also look at emerging standards, such as ZIGBEE.
It will require substantial reading and class participation, a
sequence of group mini-studies, and a research project. [Systems] |
Sec. 01 |
ThF 4-5:15 2:30-3:45 |
| 600.664 |
RANDOMIZED ALGORITHMS Kosaraju Prereq: 600.363 or 600.463 Students may receive
credit for 600.464 or 600.664, but not both. Graduate level version
of 600.464. |
Sec. 01 |
MTW 2 |
| 600.666 |
INFORMATION EXTRACTION FROM SPEECH AND TEXTKhudanpur Prereq: 550.310
or equivalent, expertise in C or C++ programming Introduction to statistical methods of speech recognition
(automatic transcription of speech) and understanding. The course
is a natural continuation of 600.465 but is independent of it.
Topics include elementary information theory, hidden Markov models,
the Baum and Viterbi algorithms, efficient hypothesis search methods,
statistical decision trees, the estimation-maximization (EM) algorithm,
maximum entropy estimation and estimation of discrete probabilities
from sparse data for acoustic and language modeling. Weekly assignments
and several programming projects.
Co-listed as 520.666
and 050.666 |
Sec. 01 |
ThF 9-10:15 |
| 600.667 |
ADVANCED DISTRIBUTED SYSTEMS AND NETWORKS Amir Prereq: 600.337 or 600.437 or Perm.
Req’d Limit 20 This course is focused on the state of the
art in distributed systems research, networks, and the Internet.
The course is managed as discussion groups where the professor
and students present recent research topics, as well as design
and implement useful semester-long projects. |
Sec.01 |
M 3, W 3-5 |
| 600.702 |
GRADUATE RESEARCH
When registering please use the following faculty section numbers:
Sec.27 added 01/31/05
Sec. 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
|
|
|
| 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 include type theory, process algebra, higher-order
program analysis, and constraint systems. Students will be expected
to present papers orally. |
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 02/08/05
|
Sec. 01
|
TBA
|
| 600.746 |
SEMINAR ON MEDICAL IMAGE ANALYSIS
Prince/Taylor This
weekly seminar will focus on research issues in medical image
analysis, including image segmentation, registration, statistical
modeling, and applications. It will also include selected topics
relating to medical image acquisition, especially where they relate
to analysis. The purpose of the course is to provide the participants
with a thorough background in current research in these areas,
as well as to promote greater awareness and interaction between
multiple research groups within the University. The format of
the course is informal. Students will read selected papers. All
students will be assumed to have read these papers by the time
the paper is scheduled for discussion. But individual students
will be assigned on a rotating basis to lead the discussion on
particular papers or sections of papers. Co-listed with 520.746 |
Sec.
01 |
T
1-2:30 2-3:30 |
| 600.757 |
SEMINAR IN COMPUTER GRAPHICS Cohen 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. |
Sec.
01 |
F
3 |
| 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.
Enrolled students are expected to present papers and lead discussion. |
Sec.
01 |
Th
2:30 Th 4 |
| 600.771 |
SEMINAR IN THEORY Scheideler Perm Req’d. This seminar course reviews current research in theoretical computer
science. Students will read, present and discuss papers in weekly
meetings. |
Sec. 01 |
W 4 |
| 600.802 |
DISSERTATION RESEARCH When
registering please use faculty section numbers listed under 600.702 |
|
|
| 600.810 |
INDEPENDENT STUDY When
registering please use faculty section numbers listed under 600.702
Perm. Req’d. |
|
|
Back to Top
|
|