• Course Schedule

Course Schedule—Spring 2006

Computer Science

COMPUTER SCIENCE
Note: Text highlighted in red indicates that a change has been made to the course listing. The red text indicates the current, updated information.

600.101 (E)

COMPUTER FLUENCY (4) Houlahan Limit 15 per section 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.

Lec.

Sec. 01

02

03

04

MTW 11

W 12


W 2

Th 9

Th 10

600.102 (E)

FOUNDATIONS OF COMPUTER SCIENCE (4) Froelich     Limit 15 per section    Prereq: 600.101 or equivalent  knowledge   This course is an introduction to computer science for majors, minors 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. This course replaces 600.103 Intro to CS and 600.113 Internet. Course canceled 1/04/06

Lec.

Sec. 01

02

MTW 1

Th 11

Th  1

600.106 (E)

PRE-PROGRAMMING ALGORITHMIC THINKING (1) Vasconcelos-Santillan Course is 4 weeks only (2/6 - 3/1) Course added 02/06/06

Sec. 01

MTW 2

600.107 (E)

INTRODUCTION TO PROGRAMMING JAVA (3) Houlahan Limit 120  Prereq: familiarity with computers  Students without experience are strongly advised to also take 600.108 or 600.106

Sec. 01

MTW 3

600.108 (E)

INTRODUCTION TO PROGRAMMING LAB (1) Houlahan  Limit 12 per section   Coreq: 600.107 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. 03 canceled 02/06/06

Sec. 01



02


03

       W 5:30-8:30pm 5-8pm

Th 4-7pm

F 9-12

600.120 (E)

INTERMEDIATE PROGRAMMING (4) Amir   Limit 25 per section  Prereq: 600.107 or 600.109. Coreq: 600.226   This course covers intermediate to advanced object-oriented 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.

Lec.

Sec. 01

02

MTW 1

Th 12

F   1

600.226 (E,Q)

DATA STRUCTURES (3) Froehlich   Prereq:  600.107 (preferred) or 600.109 required   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:15

600.318 (E)

OPERATING SYSTEMS (4) Shapiro  Prereq:  600.120, 600.226, 600.333, 600.211 (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. [Systems]

Sec. 01

MTW 10

600.319 (E)

STORAGE SYSTEMS (3) Burns    Limit 20   Prereq: 600.226 and 600.333/433 Course added 11/18/05

Sec. 01

MTW 1

600.325 (E)

DECLARATIVE METHODS (3) Eisner Limit 40 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

600.328 (E)

COMPILERS (3) Froehlich    Prereq:  600.120 and 600.226     Introduction to compiler design, including lexical analysis, parsing, syntax-directed translation, symbol tables, run-time environments, and code generation and optimization. Students are required to write a compiler as a course project.   [Systems]

Sec. 01

MTW 3

600.335 (E)

ARTIFICIAL INTELLIGENCE  (3) Sheppard   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.  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.  [Applications]

Sec. 01

ThF 4-5:15pm MTW 10

600.336 (E)

ALGORITHMS FOR SENSOR-BASED ROBOTICS (3) Hager   Limit 30 Prereq: 600.226, Calculus, Probability & Statistics   This is an introductory course presenting a series of algorithms related to the representation and use of geometric models acquired from sensor data.  Course topics include: basic sensing and estimation techniques, geometric model representations, and motion planning algorithms.  The course will also discuss applications in diverse areas such as mobile systems, robot manipulation, and medicine. [Analysis]

Sec. 01

ThF 9-10:15

600.341 (E,Q)

BASICS OF APPLIED CRYPTOGRAPHY (3)  Ateniese 
Limit 25  Prereq: 600.120 & 600.226    This course is an introduction to algorithms, cryptography and network security, meant to give students a good foundation for upper level courses in the area. Students will learn how to implement a simple cryptographic library in C. [Analysis]

Sec. 01

ThF 2:30-3:45

600.344 (E)

COMPUTER NETWORK FUNDAMENTALS (3)  Masson  Limit: 60 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. [Systems]

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. [Applications]

Sec. 01

MTW 11

600.392 (E)

SENIOR DESIGN PROJECT (3) Froehlich   CS senior majors only.   Prereq: 600.120 & 600.226 Recommended: 600.321    This course will give senior CS majors an intensive capstone design project experience. Students will work in groups with real world customers to develop a working system. Project design, management and communication skills will be emphasized. Software development methodologies may also be presented. [General]

Sec. 01

MTW 4

600.402 (E)

MEDICAL INFORMATICS (1) Lehmann   Limit 50   Short course: 02/20/06 –03/15/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.

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. [systems]

Sec. 01

MTW 10

600.419 (E)

STORAGE SYSTEMS (3) Burns    Limit 20   Prereq: 600.226 and 600.333/433 Course added 11/18/05

Sec. 01

MTW 1

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. [Analysis]

Sec. 01

MTW 2

600.426 (E,Q)

PROGRAMMING LANGUAGES (3) Smith    Freshmen and Sophomores by permission only  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. [Analysis]

Sec. 01

ThF 1-2:15

600.435 (E)

ARTIFICIAL INTELLIGENCE (3) Sheppard   Limit 10 plus CS Grads   Prereq:  600.226, 550.171   Recommended: Linear Algebra, Prob/Stats   Graduate level version of 600.335 [Applications]

Sec. 01

ThF 4-5:15pm MTW 10

600.443 (E)

SECURITY AND PRIVACY IN COMPUTING (3) Rubin   Limit 60 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 60 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 [Systems]

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. [Applications]

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. [Applications]

Sec. 01

MTW 11

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.  [Analysis]

Sec. 01

MTW 2

600.466 (E)

INFORMATION RETRIEVAL AND WEB AGENTS (3) Yarowsky  Prereq:  600.226 or 600.363 Limit: 90 Course added 10/26/05

Sec. 01

ThF 2:30-3:45

600.492 (E)

COMPUTER SCIENCE WORKSHOP II Perm. Req’d   When registering please use the following faculty section numbers:

Sec. 01 - Masson
Sec. 02 - Kosarju
Sec. 03 - Awerbuch
Sec. 04 - Taylor
Sec. 05 - Smith
Sec. 06 - Goodrich
Sec. 07 - Brill
Sec. 08 - Salzberg
Sec. 09 - Hager
Sec. 10 - Wolff
Sec. 11 - Kumar
Sec. 12 - Amir
Sec. 13 - Yarowsky
Sec. 14 - Cohen
Sec. 15 - Burns
Sec. 16 - Eisner
Sec. 17 - Shapiro
Sec. 18 - Scheideler
Sec. 19 - Stanton
Sec. 20 - Anteniese
Sec. 21 - Rubin
Sec. 22 - Monrose
Sec. 23  - Terzis
Sec. 24  - Scheinerman
Sec. 25 - Winslow
Sec. 26 - Kazhdan
Sec. 27 - Jelinek

Sec. 01-27

TBA

600.493 (E)

ROBOCUP I (1) Hager   Prereq:  600.226, Calculus, Probability & Statistics; Coreq: 660.336   This course allows students to participate in the development of a robot soccer team.  Students will work with a development team to improve some aspect of the team infrastructure, sensing, world modeling, or strategy components.

Sec. 01

T 4-5:45

600.494 (E)

ROBOCUP II (2) Hager   Prereq: 660.493 or permission     This course is for students who wish to manage a development team for robot soccer.  Students will create and manage software projects related to robot soccer. 

Sec. 01

T 4-5:45

600.502

INDEPENDENT STUDY - FRESHMEN & SOPHOMORES   When registering please use faculty section numbers listed under 600.492

Sec. 01-27

 

600.504

INDEPENDENT STUDY – JUNIORS & SENIORS   When registering please use faculty section numbers listed under 600.492

Sec. 01-27

 

600.508

UNDERGRADUATE RESEARCH   When registering please use faculty section numbers listed under 600.492

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. 01-27

 

600.520

SENIOR 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-27

 

600.546 (E)

SENIOR THESIS IN COMPUTER INTEGRATED SURGERY  (3) Taylor   Prereq: 600.445 or Perm. Req’d.

Sec. 01

 

600.602

COMPUTER SCIENCE SEMINAR Staff  Required for all CS grad students Limit 150

Sec. 01

ThF 10: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, attack propagation modeling, among others. A course project is required. [Systems] Cross-listed with JHUISI

Sec. 01

ThF 1-2:15

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. [Applications]

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     This class will survey current research in wireless communication networks. These types of networks have been growing exponentially in the past several years and include a host of different network types: ad hoc, cell phone, access point, sensor, etc. The class will build understanding of all layers of wireless networking and the interactions between them (including: physical, data link, medium access control, routing, transport, and application). The topics of security, energy efficiency, mobility, scalability, and their unique characteristics in wireless networks will be discussed. The class will be composed of three parts. In the first part, several different lecturers (including guests from outside of JHU) will provide an introduction to the field. The second part will be structured as a research seminar consisting of class discussions of research papers. The third part of the class will consist of a large programming project where students break into teams and develop mobile applications. It is strongly recommended that students have previously completed Object Oriented Systems, Distributed Systems, and Networking classes. The applications will involve Linux programming, network programming, and a user interface. [Systems or Analysis]

Sec. 01

MTW 10

600.649

SENSOR NETWORKS  Terzis  Limit 20   Graduate Student only  Prereq: 600.349/449 or Perm Req’d. Embedded network systems, including sensor networks, distributed control applications, and ubiquitous computing environments, are becoming an important new computing class with wide ranging and novel applications. They present a range of computer systems challenges because they are closely coupled to the physical world with all its unpredictable variation, noise, and asynchrony; they involve many energy-constrained, resource-limited devices operating in concert; they must be largely self-organizing and self-maintaining; and they must be robust despite significant noise, loss, and failure. This area has reached a stage where solid initial platforms have been developed, a number of 'leading applications' have been fielded, and a rich body of literature has emerged. This course will be reading/project/discussion focused, with a goal of covering the area is substantial depth. Topics include application-driven network architectures, emerging platforms and technology, resource constrained real-time OSs, media access control, distributed algorithms (broadcast, anycast, multicast, convergecast) 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

MTW 1

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.  [Analysis]

Sec. 01

MTW 2

600.666

INFORMATION EXTRACTION FROM SPEECH AND TEXT Khudanpur   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.  [Applications]  Co-listed as 520.666

Sec. 01

ThF 9-10:15

600.726

SEMINAR IN PROGRAMMING LANGUAGES Smith  Perm. Req’d   This seminar course covers recent developments in the foundations of programming language design and implementation. Topics covered 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.745

SEMINAR IN CIS Fichtinger  Course added 12/15/05

Sec. 01

W 12-1:30

600.746

SEMINAR ON MEDICAL IMAGE ANALYSIS   Prince/Taylor  Perm. Req’d 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 2-3: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.                

Sec. 01

TBA

600.765

SEMINAR IN NATURAL LANGUAGE PROCESSING Eisner    Perm. Req’d.   A reading group exploring important current research in the field and potentially relevant material from related fields. Enrolled students are expected to present papers and lead discussion.

Sec. 01

Th 4

600.802

DISSERTATION RESEARCH When registering please use faculty section numbers listed under 600.804

   

600.804

GRADUATE RESEARCH   Perm. Req’d.    When registering please use the following faculty section numbers:

Sec. 01 - Masson
Sec. 02 - Kosarju
Sec. 03 - Awerbuch
Sec. 04 - Taylor
Sec. 05 - Smith
Sec. 06 - Lehmann Goodrich
Sec. 07 - Brill
Sec. 08 - Salzberg
Sec. 09 - Hager
Sec. 10 - Chirikjian Wolff
Sec. 11 - Kumar
Sec. 12 - Amir
Sec. 13 - Yarowsky
Sec. 14 - Cohen
Sec. 15 - Burns
Sec. 16 - Eisner
Sec. 17 - Shapiro
Sec. 18 - Scheideler
Sec. 19 - Stanton
Sec. 20 - Anteniese
Sec. 21 - Rubin
Sec. 22 - Monrose
Sec. 23  - Terzis
Sec. 24  - Scheinerman
Sec. 25 - Winslow
Sec. 26 - Kazhdan
Sec. 27 - Jelinek
Sec. 29 - Szalay

Sec. 29 added 01/09/06

   

600.810

INDEPENDENT STUDY When registering please use faculty section numbers listed under 600.804 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