• Course Schedule

 

Course Schedule—Spring 2007

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 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 4

Th 9

Th 3

F 10

 

600.104 (E)

COMPUTER ETHICS (1) Kosaraju Limit 20 Computer Science majors only An examination of a variety of topics regarding policy, legal, and moral issues related to the computer science profession itself and to the proliferation of computers in all aspects of society, especially in the era of the Internet. Course will cover various general issues related to ethical frameworks and apply those frameworks more specifically to the use of computers and the Internet. Topics include: privacy issues, computer crime, intellectual property law -- specifically copyright and patent issues, globalization, and ethical responsibilities for computer science professionals.

Sec. 01

T 5

600.107 (E)

INTRODUCTION TO PROGRAMMING IN JAVA (3) Houlahan  Limit 120    Prereq: familiarity with computers. An introduction to fundamental programming concepts and techniques in Java. Intended for all who plan to use computer programming in their studies and careers. Topics 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 also introduced. Students without prior exposure are strongly advised to also take 600.108.

Sec. 01

MTW 3

 

600.108 (E)

INTRODUCTION TO PROGRAMMING LAB (1) Houlahan Limit 15 per section Coreq: 600.107 Satisfactory/Unsatisfactory only The purpose of this course is to give novice programmers extra hands-on practice with guided supervision. Students will work in pairs each week to develop working programs, with checkpoints for each development phase

Sec. 01

02

W 6-9pm

Th 4-7pm

600.120 (E)

INTERMEDIATE PROGRAMMING (4) Froelich   Limit 20 per section  Prereq: 600.107 or 600.109.  This course covers intermediate to advanced object-oriented programming in both C and C++. Focus is on programming techniques, class design, and the use of class libraries. Topics covered: 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.211(E)

UNIX SYSTEMS PROGRAMMING (3) Froelich Limit 40 Prereq: 600.120 This course covers a variety of topics in UNIX programming, including process control, signal handling, daemon processes, and interprocess communication. Participants must be familiar with using the UNIX environment and be fluent in the C programming language.

Sec. 01

MTW 11

600.226 (E,Q)

DATA STRUCTURES (3) Hager      Limit 100  Prereq:  600.107   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.316 (E)

TRANSACTION PROCESSING SYSTEMS (3) Burns Limit 20 Prereq: 600.315/415, 600.120 Course covers the design and implementation of transaction processing and database systems. Topics include transaction semantics, write-ahead logging, memory management, checkpoints, concurrency control, replication, restart recovery, and distributed commit protocols. The course employs examples of advanced database applications to develop this material. Examples include Internet databases, TP monitors, multidatabases, and federated databases. Course work includes a project. [Systems]    

Sec. 01

MTW 1

600.318 (E)

OPERATING SYSTEMS (4) Doerrie/ Sridhar Limit 20 Prereq: 600.120, 600.226, 600.333, 600.211- recommended  Students may receive credit for 600.318 or 600.418 but not both. This course covers 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.325 (E)

DECLARATIVE METHODS (3) Eisner Limit 40 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, students 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, students 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 found in other courses and in the real world. Students also gain some understanding of the general-purpose algorithms that power the software.  [Analysis] Undergrad level of 600.425

Sec. 01

MTW 2

600.328 (E)

COMPILING AND PROGRAM ANALYSIS (3) Froehlich Limit 30 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/Stat 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
MTW 10
600.344 (E) COMPUTER NETWORK FUNDAMENTALS (3)  Terzis 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&rsquo 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.402 (E)

MEDICAL INFORMATICS (1) Lehmann   Limit 50   Computers and information technology has become major forces in transforming American medicine. Course discusses 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.
Course only meets for 4 weeks (2/5-2/28)

Sec. 01

MW 4-5:15

600.416 (E)

TRANSACTION PROCESSING SYSTEMS (3) Burns Limit 20 Prereq: 600.315/415, 600.120 Graduate level version of 600.316. [Systems]

Sec. 01

MTW 1

600.418 (E)

OPERATING SYSTEMS (3) Doeme/Sridhar Limit 20 10 Prereq: 600.226, 600.333/433, 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.425 (E)

DECLARATIVE METHODS (3) Eisner  Limit 30   Prereq:  600.226, 600.271 and Calculus II
Graduate level version of 600.325

Sec. 01

MTW 2

600.426 (E,Q)

PROGRAMMING LANGUAGES (3) Smith Freshmen and Sophomores by permission only Limit 60 30 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

MTW 10

600.443 (E)

SECURITY AND PRIVACY IN COMPUTING (3) Rubin Limit 50 Prereq: Basic course in operating systems & networks or Perm. Req’d 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) Terzis Limit 60 plus CS GradsPrereq: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 II (1) Taylor   Limit 30   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 20 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 Limit 30 Prereq: 600.363 or 600.463 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 1

600.466 (E)

INFORMATION RETRIEVAL AND WEB AGENTS (3) Yarowsky Limit 90 Prereq:600.226 An in-depth, hands-on study of current information retrieval techniques and their application to developing intelligent WWW agents. Topics include a comprehensive study of current document retrieval models, mail/news routing and filtering, document clustering, automatic indexing, query expansion, relevance feedback, user modeling, information visualization and usage pattern analysis. In addition, the course explores the range of additional language processing steps useful for template filling and information extraction from retrieved documents, focusing on recent, primarily statistical methods. The course concludes with a study of current issues in information retrieval and data mining on the World Wide Web. Topics include web robots, spiders, agents and search engines, exploring both their practical implementation and the economic and legal issues surrounding their use. [Applications]

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
02 Kosaraju
03 Awerbuch
04 Taylor
05 Smith
06 Houlahan
07 Lehmann
08 Sheppard
09 Hager
10 Chirikjian
11 Khudhanpur
12 Amir
13 Yarowsky
14 Cowan
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
28 Froehlich
29 Szalay
30 Kazanzides

Sec. 01-30

TBA

600.493 (E)

ROBOCUP I (1) Hager Limit 30 Prereq: 600.226, Calculus, Probability & Statistics; 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  Limit 30  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-30

600.504

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

Sec. 01-30

600.508

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

Sec. 01-30

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. Typically, 40 hours of work is equivalent to one credit.

Sec. 01-30

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-30

600.546 (E)

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

Sec. 01

600.602

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

Sec. 01

ThF 10:30-12

600.625

COMPUTER AND NETWORK FORENSICS Monrose Limit 25 Prereq: Operating Systems and Systems Programming    This course exposes students to a myriad of fundamental concepts and techniques for recovering and inferring information in computer systems and networks. Topics include (but are not limited to) file system forensics, kernel-level rootkits and associated challenges, reconstructing malware evolution and dynamics, analysis of anonymization and privacy preserving techniques, advanced network traceback, traffic classification, biometrics and digital evidence, data integrity and audit trails, secure remote logging, and system call introspection. A semester-long course project is required. Students will also be responsible for presenting and discussing selected research papers on topics pertinent to the course. Some familiarity with low-level system programming is assumed. [Applications] Cross-listed with JHUISI

Sec. 01

ThF 1-2:15

600.641

SPECIAL TOPICS IN THEORETICAL CRYPTOGRAPHY  Hohenberger   Limit 20  Prereq: prior course in crypto or security   In this seminar, we will explore the foundations of modern cryptography. We will study how to formalize the security guarantee of a protocol and cover techniques for proving that a protocol meets a claimed guarantee. Some included topics will be zero-knowledge proofs, multiparty computation, program obfuscation, and anonymous authentication. An emphasis will be placed on major past results, recent progress and current open problems. The workload will not be heavy, but it will include a final research project. [Analysis]  Cross-listed with JHUISI

Sec. 01

M 4, T 3-5

600.642

ADVANCED CRYPTOGRAPHY  PROTOCOLS Ateniese     Limit 20  Prereq: 600.442 or 600.443  This course will focus on advanced cryptographic 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 30   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     Limit 30  Prereq: 600.344/444, 600.363/463 or Perm. Req’d     A survey of 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). Topics discussed: security, energy efficiency, mobility, scalability, and their unique characteristics in wireless networks. [Systems or Analysis]

Sec. 01

MTW 10

600.664

RANDOMIZED ALGORITHMS Kosaraju Limit 30   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 1

600.666

INFORMATION EXTRACTION FROM SPEECH AND TEXT Khudanpur Limit 30   Prereq: 600.120 & 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.667

ADVANCED DISTRIBUTED SYSTEMS AND NETWORKS  Amir Limit 20  Prereq: 600.337/437 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.

Sec. 01

M 3, W 3-5

600.671

SPECIAL TOPICS ON BIO-NANO COMPUTING Basu  Limit 20   Course covers nanotechnology, bio-nanotechnology, introductory structural biology, molecular bioengineering, DNA computing, molecular electronics, and related fields with a focus on the design, fabrication, use, and development of systems with molecular-scale components. Previous knowledge of chemistry or macromolecular structure is not required. Course is appropriate for graduate and advanced undergraduate students in engineering, computer science, chemistry, and information technology-related fields. [Applications]

Sec. 01

T 9-11:30

600.726

SEMINAR IN PROGRAMMING LANGUAGES Smith  Perm. Req’d   Limit 20    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.735

SEMINAR IN MACHINE LEARNING Sheppard Perm. Req’d   Limit 30 This seminar course will look at research in machine learning. Topics will be selected from those of mutual interest between students and the instructor. Sample topics include reinforcement learning, kernel methods, experimental methods in machine learning, computational learning theory, lazy learning, evolutionary computation, and neural networks. Students are expected to select papers and lead discussion. Course added 11/30/06

Sec. 01

Th 9

600.745

SEMINAR IN CISST Fichtinger 
This weekly seminar will focus on research issues in computer integrated surgery, including subjects such as medical image analysis, statistical modeling, visualization, vision/sensing, surgical planning, medical robotics, and clinical applications. The purpose of the course is to widen the knowledge and awareness of the participants in current research in these areas, as well as to promote greater awareness and interaction between multiple research groups within the University and beyond. The format of the course is informal presentation by a pre-eminent invited speaker, followed by free discussion.

Sec. 01

W 12-1:30

600.746

SEMINAR ON MEDICAL IMAGE ANALYSISPrince/ Taylor  Limit 10   A weekly seminar focusing on research issues in medical image analysis, including image segmentation, registration, statistical modeling, and applications. Also includes selected topics relating to medical image acquisition, especially where they relate to analysis. Course will provide the participants with a thorough background in current research in these areas, and promote greater awareness and interaction between multiple research groups within the University. Course format is informal. Students will read selected papers. 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   Limit 30   A review of current research in computer graphics. Course meets for an hour once a week and one of the participants will lead the discussion for the week.                

Sec. 01

TBA

600.761

COMPUTER VISION TECHNIQUES FOR MULTI-SENSOR IMAGE FUSION Wolff   Limit 20   Prereq: 600.461 or equivalent. Interested students with different levels of image processing also welcome
With the continuing advancement of various sensor technologies, multiple imaging modalities are more often becoming simultaneously available for deriving information from the world. In medical imaging, MRI, CAT and PET modalities can be separately used to image the same tissue, providing complementary information for visualization and diagnosis. Cameras using objective lenses are now available that image in the visible, Near-infrared, ShortWave-infrared and Thermal Infrared spectrums; in combinations of two or more modalities these can provide vastly enhanced information about the physical world. This seminar will study a variety of computer vision techniques for both visual image fusion, such as for enhancing human visual perception beyond the visible spectrum, as well as analytic image fusion such as for enhancing the performance of automated object and face recognition. Courses added 12/22/06

Sec. 01

M 1-3

600.765

SEMINAR IN NATURAL LANGUAGE PROCESSING Eisner   Limit 30    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
02 Kosaraju
03 Awerbuch
04 Taylor
05 Smith
06 Houlahan
07 Lehmann
08 Sheppard
09 Hager
10 Chirikjian
11 Khudhampur
12 Amir
13 Yarowsky
14 Cowan
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
28 Froehlich
29 Szalay
30 Kazanzides

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