• Course Schedule

 

Course Schedule—Spring 2005

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.

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

 

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