cs homeabout usnewseventspeopleresearchacademicsservices

Computer Science Academic Integrity Code

FAQ for Academic Programs

Technical Reports

Library Resources

Job Resource Center

ARCHIVES

Fall 2002 Class Schedule

Spring 2002 Class Schedule

Summer 2002 Class Schedule


printer friendly version
pdf version
email this page




[Summer 2006 courses][Fall 2006 courses][Spring 2007 courses]

Spring 2003 Courses

600.101 (E)

COMPUTER LITERACY (4) Beach

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.

Prereq: None

MTW 8, Shaf 3
sections in NEB 225
limit 14/section
Sec 1: M 9
Sec 2: M 11
Sec 3: T 9
Sec 4: W 9
Sec 5: Th 10

600.103 (E)

INTRODUCTION TO COMPUTER SCIENCE (1) Houlahan

Satisfactory/Unsatisfactory only.

Th 4
limit 120
Shaf 3

600.106 (E)

NEW COURSE

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 1/30-2/20.

Satisfactory/Unsatisfactory only.

ThF 1-2:15
4 weeks 1/30-2/20
limit 20
Shaf 2

600.109 (E)

INTRO TO PROGRAMMING IN C/C++ (3) Houlahan

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.106.

Prereq: Some familiarity with computers

Sec 1: MTW 3 (some experience preferred)
Sec 2: MTW 4 (no experience)
limit 120/section
Shaf 3

600.111 (E)

PRACTICAL C (1) Malik

This course provides practical C notions for students who have taken an introductory programming class in C++ or Java. The class is intended for students interested in taking systems courses such as Operating Systems and Distributed Systems, but not exclusively so. The course also addresses issues such as writing portable code and debugging programs on UNIX systems. Course homework involves significant programming.
Short course meets 4 weeks only: 2/3-2/26. Prereq: 600.107 or 600.109 or AP CS (AB course)

MTW 11

Shaf 303

600.113 (E)

INTERNET (4) Beach

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.

Prereq: 600.101 or equivalent

MTW 9, Shaf 3
sections in NEB 225
limit 14/section
Sec 1: M 8
Sec 2: T 10
Sec 3: W 11
Sec 4: Th 9
Sec 5: Th 11

600.120 (E)

INTERMEDIATE PROGRAMMING (4) Wilson

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.
Prereq: 600.107 or 600.109. Students who have taken 600.118 or 600.121 may not take this course. They should register for 600.122 instead.

ThF 12:35-2:15
limit 100
Shaf 3

600.122 (E)

INTERMEDIATE PROGRAMMING (2) Wilson

This course is a 2 credit version of 600.120 for students who have already taken either 600.118 or 600.121. This is the last semester it will be offered. Prereq: 600.118 or 600.121, but not both. Students who have both 600.118 and 600.121 may not take this course.

ThF 12:35-2:15
Shaf 3

600.226 (E,Q)

DATA STRUCTURES (3) Eisner

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.

Prereq: 600.107 (preferred) or 600.109 required; intermediate programming highly recommended.

MW 4-5:15
limit 100
Shaf 100

600.318 (E)

OPERATING SYSTEMS (4) Shapiro

Prereq: 600.226, 600.211 (or 600.111 or equiv.) and 600.333. Students may receive credit for 600.318 or 600.418, but not both.

M 4, T 3-5
limit 40, CS majors only
Shaf 301

600.324 (E)

NEW COURSE

NETWORK SECURITY (3) Monrose

This course focuses on communication security in computer systems and networks. The course is intended to provide students with a comprehensive introduction to the field of network security. The course covers critical network security services such as authentication and access control, integrity and confidentiality of data, firewalls, IPsec, virtual private networks, and web security. Where appropriate, we examine threats and vulnerabilities to specific architectures and protocols. A course project is required.

Prerequisite: 600.344/444 or instructor permission. Students may receive credit for 600.324 or 600.424, not both.

MTW 2
limit 20
Shaf

600.335 (E)

ARTIFICIAL INTELLIGENCE (3) Sheppard

This introductory AI class explores fundamental obstacles to getting machines to perform tasks such as deduction, learning, and planning. It emphasizes basic concepts and fundamental ideas for developing practical solutions. Students may receive credit for 600.335 or 600.435, but not both. Prereq: 600.226

TW 4:30-5:45
limit 30
Shaf 303

600.344 (E)

COMPUTER NETWORK FUNDAMENTALS (3) Masson

Prereq: 600.333 or 600.433 or permission. Students can only receive credit for 600.344 or 600.444, not both.

MTW 11
limit 30
Shaf 3

600.356 (E,Q)

RENDERING TECHNIQUES (3) Cohen

Color and Light theory, Raytracing, Global Illumination, Caustics, Participative media, Image based Rendering, Volume Rendering, Morphing and Animation.
Prereq: 600.226; Co-req: 550.191, 110.201. Students may receive credit for 600.356 or 600.456, but not both.

MW 2-3:15
limit 20
Shaf 300

600.371 (E,Q)

MODERN COMPLEXITY THEORY (3) Scheideler

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. [Analysis]
Prerequisite: 600.271 or permission.

MTW 1
limit 20
Shaf 300

600.402 (E)

MEDICAL INFORMATICS (1) Lehmann

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.
Short course meets 4 weeks 1/27-2/19.

MW 4-5:15
4 weeks 1/27-2/19
limit 50
Shaf 101

600.404 (E)

ARTIFICIAL NEURAL NETWORKS (1) Pineda

This short course will expose students to the theory and practice of artificial neural networks. We will use perceptrons and multilayer networks to introduce general concepts in machine learning and statistical pattern recognition, e.g. supervised and unsupervised learning, generalization, bias vs variance and VC-dimension. We will examine example applications and hardware implementations. The approach will be to introduce key ideas in the lectures while leaving elaboration of these ideas to readings and homework. Students will implement various algorithms in a language of their choice. Prerequisites: Calc III, linear algebra, 600.226.
Cross-listed with Neuroscience. Short course meets 4 weeks 1/28-2/20.

TTh 4-5:15
1/28-2/20 only
limit 50
Shaf 2

600.409 (E)

EMBEDDED COMPUTER SYSTEMS - VULNERABILITIES, INTRUSIONS AND PROTECTION MECHANISMS (1) Kalb

While most of the world is pre-occupied with high profile network-based computer intrusions, this course examines the potential for computer crime and the protection mechanisms used in conjunction with the embedded computers that can be found within non-networked products ranging from vending machines to radar systems. This course provides a basic understanding of embedded computer systems: differences with respect to networked-based computers, programmability, exploitation mechanisms, and current intrusion protection technologies. In class computer laboratory experiments consisting of demonstration software reinforces the topic areas as discussed in the lecture. Short course meets 4 weeks 1/29-2/19.
Prerequisite: basic understanding and working knowledge of computer systems.

Wed 6-8:30 pm
1/29-2/19 only
limit 75
Shaf 3

600.410 (E)

INTRODUCTION TO SENSORY ENGINEERING (1) Massof

Short course meets 4 weeks 2/25-3/27.

TTh 5-6:15
2/25-3/27 only
limit 50
Shaf 3

600.411 (E)

NEW COURSE

CONVERSATIONAL INTERFACES (1) Mann

This course looks at the application of natural language processing technology systems for human-computer interaction, in particular text-based conversational interfaces. The course begins with background on computational approaches to discourse and dialogue, and then reviews recent work in information extraction and question answering. There will be one final project which explores a novel use of nlp for text-based human computer interaction. Short course meets 4 weeks 3/17-4/9.
Prerequisite: 600.465 or 600.466.

MTW 11
3/17-4/9 only
limit 10 ugrad + 10 grad
Shaf 303

600.413 (E)

NEW COURSE!

PEER-TO-PEER NETWORK SYSTEMS (1) Terzis

Peer-to-peer Internet applications have recently been popularized through file sharing applications like Napster, Gnutella and FreeNet. While much of the attention has been focused on the copyright issues raised by these particular applications, peer-to-peer systems have many interesting technical aspects like decentralized control, self organization, adaptation and scalability. In this course we are going to cover several papers covering the evolution and some of the techical issues around building peer-to-peer (P2P) network systems. We are going to start by looking at the original P2P application, Napster, and some of its later offsprings such as Gnutella, Freenet and FastTrack. We are going to discuss the scaling limitations of these systems and see how some recently proposed systems (Chord, CAN, Pastry) propose to address these limitations. While these second-generation systems are scalable in terms of the amount of routing state required in each P2P node, they offer only a primitive, that is given a key the ability to quickly locate a node that stores that key. Next, we are going to cover some applications built on top of this primitive, spanning from distributed file systems to event notification systems. We are going to close the course by exploring some of the shortcomings of this second generation P2P systems and some of the open problems surrounding P2P systems. Finally we are going to briefly cover some the alternative designs in this system space (i.e. network overlays) and discuss the implications of P2P systems on the larger Internet. [Systems] Short course meets 4 weeks 4/1-4/24.
Prerequisites: 600.318/418 & 600.344/444, or permission.

TuTh 4-5:15
4/1-4/24 only
10 + CS grads
Shaf 2

600.418 (E)

OPERATING SYSTEMS (3) Shapiro

Prereq: 600.226, 600.211 (or 600.111 or equiv.) and 600.333. Students may receive credit for 600.318 or 600.418, but not both.

M 4, T 3-5
limit 10 + CS grads
Shaf 301

600.424 (E)

NEW COURSE

NETWORK SECURITY (3) Monrose

This course focuses on communication security in computer systems and networks. The course is intended to provide students with a comprehensive introduction to the field of network security. The course covers critical network security services such as authentication and access control, integrity and confidentiality of data, firewalls, IPsec, virtual private networks, and web security. Where appropriate, we examine threats and vulnerabilities to specific architectures and protocols. A course project is required.

Prerequisite: 600.344/444 or instructor permission. Students may receive credit for 600.324 or 600.424, not both.

MTW 2
limit 10 (+ CS grads)
Shaf

600.426 (E,Q)

PROGRAMMING LANGUAGES (3) Smith

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. Prereq: 600.226.

ThF 1-2:15
limit 20 + CS students
Shaf 303

600.435 (E)

ARTIFICIAL INTELLIGENCE (3) Sheppard

Upper level version of 600.335. Students may receive credit for 600.335 or 600.435, but not both. Prereq: 600.226

TW 4:30-5:45
limit 10 + CS grads
Shaf 303

600.441 (E)

NEW COURSE

VISION-BASED INTERACTION FOR MAN AND MACHINE (3) Hager

This course surveys recent research results on algorithms for dynamic vision and their application. Specific emphasis will be placed on approaches which derive novel and efficient algorithms using generalizable mathmetical and/or computational principles. Application papers will cover problems ranging from the automated control of devices using vision (e.g. automated driving) to perception-based user interfaces. Students will be expected to participate in class by reading, presenting, and discussing research papers. Prerequisite: 600.461 or robotics or permission of instructor.

ThF 2:30-3:45
limit 20, grads only
(undergrads by permission after grad registration)

600.443 (E)

SECURITY AND PRIVACY IN COMPUTING (3) Rubin

This course will be centered around a semester-long project that all of the students will participate in. The students will perform a literature search, identify requirements, design a solution, implement a system, and test, evaluate and analyze it. There will be a heavy work load, and students will be expected to participate in the project both in class and outside of class. Students will make presentations to the class at various stages in the project. Lectures will cover basic issues in computer security, cryptography, system design methodology, and privacy. The project is to design a poll-site voting station that conforms the identified requirements, and in particular, security and privacy. In addition to the project, there will be homework assignments, a midterm, and a final. [Applications] (was Systems previously) Prerequisite: 600.442 or permission of instructor.

ThF 9-10:15
limit 20, grads only
(undergrads by permission after grad registration)
Shaf 304

600.444 (E)

COMPUTER NETWORKS (3) Masson

Prereq: 600.333 or 600.433 or permission. Students can only receive credit for 600.344 or 600.444, not both.

MTW 11
limit 10 + CS grads
Shaf 3

600.446 (E)

COMPUTER INTEGRATED SURGERY II (3) Taylor

Prereq: 600.445 or perm req'd. Students may receive credit for 600.446 or 600.646, but not both.

ThF 1-2:15
limit 20 (+ grads)
Shaf 304

600.452 (E)

COMPUTER INTEGRATED SURGERY SEMINAR (1) Taylor

Lecture only 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.

ThF 1-2:15
Shaf 304

600.456 (E,Q)

RENDERING TECHNIQUES (3) Cohen

Color and Light theory, Raytracing, Global Illumination, Caustics, Participative media, Image based Rendering, Volume Rendering, Morphing and Animation.
Prereq: 600.226; Co-req: 550.191, 110.201. Students may receive credit for 600.356 or 600.456, but not both.

MW 2-3:15
limit 10 + CS grads
Shaf 300

600.464 (E,Q)

RANDOMIZED ALGORITHMS (3) Kosaraju

Prereq: 600.363 or 600.463. Students may receive credit for 600.464 or 600.664, but not both.

MTW 2
NEB 12

600.466 (E)

INFORMATION RETRIEVAL & WEB AGENTS (3) Yarowsky

Prereq: 600.226

ThF 2:30-3:45
limit 90
Shaf 3

600.471 (E,Q)

MODERN COMPLEXITY THEORY (3) Scheideler

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. [Analysis]
Prerequisite: 600.271 or permission.

MTW 1
limit 10 + CS grads
Shaf 300

600.492 (E)

COMPUTER SCIENCE WORKSHOP II (3) Staff

Permission of faculty sponsor is required.

600.502

INDEPENDENT STUDY- FRESHMEN & SOPHOMORES

Permission of faculty sponsor is required.

600.504

INDEPENDENT STUDY- JUNIORS & SENIORS

Permission of faculty sponsor is required.

600.508

UNDERGRADUATE RESEARCH

Permission of faculty sponsor is required.

600.510

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.

600.546 (E)

SENIOR THESIS IN COMPUTER INTEGRATED SURGERY (3)

Prereq: 600.445 or perm req'd.

Section 01: Taylor

600.602

COMPUTER SCIENCE SEMINAR

Required for all CS grad students.

ThF 10:30-12
Shaf 3

600.619

NEW COURSE!

ADVANCED STORAGE & TRANSACTION PROCESSING SYSTEMS (3) Burns

In this course, we will examine advanced research topics in storage systems, file systems, transaction processing, and network data management. The readings are taken from the current research literature and articles of historical significance. This course is intended for graduate students interested in conducting research on or related to these topics and for students who face management, availability or performance issues with data in their own research. Students will conduct a semester long research project and present their results to the class. In addition to the scheduled meetings, students will have weekly one-on-one meetings with the professor. [Systems]

Prerequisite: 600.419 or permission of instructor.

MW 1
limit 20
NEB 12

600.642

NEW COURSE

ADVANCED CRYPTOGRAPHIC PROTOCOLS (3) Ateniese

This course will focus on advanced cryptographic protocols with an emphasis on open research problems. [Applications] Prereq: 600.442 or 600.443 or permission of the instructor.

ThFr 1-2:15
NEB 12

600.646

COMPUTER INTEGRATED SURGERY II (3) Taylor

Prereq: 600.445 or perm req'd. Students may receive credit for 600.446 or 600.646, but not both.

ThF 1-2:15
Shaf 304

600.647

NEW COURSE

ADVANCED TOPICS IN WIRELESS NETWORKS (3) Awerbuch

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] Prereq: 600.344/444 & 600.363/463, or permission of the instructor.

MTW 10
NEB 12

600.657

ADVANCED COMPUTER GRAPHICS (3) Kumar

Current research in computer graphics. Techniques for generating both high quality images, Highly interactive graphics systems, Rendering of large models, Surface visualization, Collision detection, Visibility, Surface modeling, Physically based modeling, animation. Prereq: 600.357/457

MT 4-5:15
NEB 12

600.664

RANDOMIZED ALGORITHMS (3) Kosaraju

Prereq: 600.363 or 600.463. Students may receive credit for 600.464 or 600.664, but not both.

MTW 2
NEB 12

600.666

INFORMATION EXTRACTION (3) Jelinek
(Cross-listed as 520.666.) Introduction to statistical methods of speech recognition (automatic transcription of speech) and understanding. The course is a natural continuation of 520.665 and/or 600.465 but is independent of either. Topics include elementary information theory, hidden Markov models, efficient hypothesis search methods, statistical decision trees, the estimation-maximization (EM) algorithm, maximum entropy estimation, finite state transducers, context-free grammars, parsing, and the Baum, CYK, and Viterbi algorithms. Weekly assignments and several programming projects.
Prerequisites: 550.310 or equivalent, expertise in C or C++ programming. Co-listed with 050.666 and 520.666.

ThF 1:00-2:15
MD 114

600.667

ADVANCED DISTRIBUTED SYSTEMS AND NETWORKS (3) Amir

This course is focused on the state of the art in distributed systems research, networks, and the Internet. The course is managed as a discussion group where the professor and students present recent research topics, as well as design and implement useful semester-long projects.
Prereq: 600.337 or 600.437 or permission of instructor.

M 3-4
W 3-5
Limit 20
NEB 12

600.702

GRADUATE RESEARCH

Non-dissertation research by graduate students.

600.726

SEMINAR IN PROGRAMMING LANGUAGES (1) Smith

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.

Prereq: permission of instructor

W 11-12
NEB 325

600.746

MEDICAL IMAGE ANALYSIS SEMINAR (1) Taylor & Prince

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. Cross-listed in ECE. Students and faculty interested in participating should contact Megan Snyder-Camp (megan@cs.jhu.edu, 410-516-3837) or Laura Libertini (libertini@jhu.edu, 410-516-4076). Megan and Laura will coordinate a time for the initial organizational meeting in the near future.

1 hr, TBA
room TBA

600.757

SEMINAR IN COMPUTER GRAPHICS (1) Kumar/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.

Fri 3-4p
Shaf 202

600.765

SEMINAR IN NATURAL LANGUAGE PROCESSING (1) 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. [Applications] Pre-req: permission of instructor.

Th 4-5p
NEB 325

600.771

SEMINAR IN THEORY (1) 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. [Analysis]

W 4-5p
NEB 325

600.774

KERNEL MACHINE LEARNING (3) Cauwenberghs

[Cross-listed with ECE as 520.774.]
Statistical learning theory, and kernel-based pattern recognition. Topics include kernel methods, large margin classifiers, support vector machines, regularization networks, gaussian processes, sparse approximation, and applications in vision and speech. Assignments include a class project, and presentation of original work. [Applications]

TBA
room?

600.802

DISSERTATION RESEARCH

600.810

INDEPENDENT STUDY

Faculty section numbers for all independent type courses, undergraduate and graduate.

01 - staff
02 - Masson
03 - Kosaraju
04 - Awerbuch
05 - Taylor
06 - Smith
07 - Goodrich
08 - Brill
09 - Salzberg
10 - Hager
11 - Wolff
12 - Kumar
13 - Amir
14 - Yarowsky
15 - Cohen
16 - Burns
17 - Eisner
18 - Shapiro
19 - Scheideler
20 - Stanton
21 - Ateniese
22 - Rubin
23 - Monrose
24 - Terzis


 
Today is Monday, November 23, 2009

The Department of Computer Science   © 2002 The Johns Hopkins University