Docstoc

Department of Computer Science - PDF

Document Sample
Department of Computer Science - PDF Powered By Docstoc
					      Department of Computer Science
      Department of Computer Science
      Stuart Building                                                      The study of computer science is the inquiry into the
      10 W. 31st St.                                                       nature of computation and its use in solving problems in
      Chicago, IL 60616                                                    an information-based society. Computer science is an
      312.567.5150                                                         evolving discipline, but it has a well-defined core of
      312.567.5067 fax                                                     knowledge and a set of characteristic methodologies. The
      www.cs.iit.edu                                                       methods and skills required of the computer scientist
      info@cs.iit.edu                                                      include formalization and abstraction, algorithm design,
                                                                           programming, organization of unstructured knowledge,
      Interim Chair:                                                       modeling, language development, and software system
      Bogdan Korel                                                         architecture and design. The graduate program in com-
                                                                           puter science at IIT stresses high achievement in both
      Associate Chair:                                                     fundamental knowledge and practical problem solving.
      Cynthia Hood                                                         It offers the student a solid background in the core areas
                                                                           and exposure to cutting-edge computer technologies.

      Degrees Offered

      Master of Computer Science (MAS)                                     Master of Science in Computer Science
      Master of Computer Science with specialization in                    Master of Science for Teachers
         Computer Networking and Telecommunications                        Doctor of Philosophy in Computer Science
         Information Systems
         Software Engineering
         Business

      Joint- and Dual-Degree Programs

      With the Department of Electrical and Computer                       With the Department of Chemical and Biological
      Engineering:                                                         Engineering:
      Master of Telecommunications and Software Engineering                Master of Science in Computer Science/
                                                                              Master of Chemical Engineering

      Certificate Programs

      Computer Networking and Telecommunications                           Software Engineering
      Information Systems

      Research Facilities

      The department has research computing facilities that                CPU Sun Enterprise 450 server connected via high-
      include Sun SPARC and Silicon Graphics UNIX work-                    performance network switches. An advanced technology
      stations, and Windows-based PCs. The department also                 Access Grid node has been installed by the department,
      has facilities for research in parallel computing. The               which allows researchers, teachers and students at differ-
      equipment includes a large scale “ComputeFarm” consist-              ent locations worldwide to interact via a network multi-
      ing of 72 Sun Blade UltraSparc-ii workstations and a 4               media environment.

      Research Areas

      Algorithms, data structures, artificial intelligence, com-           database systems, distributed and parallel computing,
      puter architecture, computer graphics, computer                      image processing, information retrieval, natural language
      networking and telecommunications, computer vision,                  processing, and software engineering.




166                                      IIT Graduate Bulletin 2008-2010
                                                                                     Department of Computer Science
      Faculty

      Gady Agam, Associate Professor. B.Sc., M.Sc., Ph.D.,       David Grossman, Associate Professor. B.S., Clemson
      Ben-Gurion University. Computer vision, computer           University; M.S., American University; Ph.D., George
      graphics, image processing, pattern recognition,           Mason University. Information retrieval, data mining,
      image-based rendering, non-linear signal processing,       integration of structured data and text.
      mathematical morphology.
                                                                 Cynthia Hood, Associate Professor and Associate Chair.
      Shlomo Argamon, Associate Professor. B.S. Carnegie-        B.S., Rensselaer Polytechnic Institute; M.E., Stevens
      Mellon University, M.Phil, Ph.D. Yale University.          Institute of Technology; Ph.D., Rensselaer Polytechnic
      Machine Learning, computational linguistics, stylistics,   Institute. Network management, statistical signal pro-
      information retrieval.                                     cessing, learning processing.
      Charles Bauer, Professor Emeritus. B.S., M.Ed., Loyola     Sanjiv Kapoor, Professor. B.Tech., Indian Institute of
      University. Computer Education, computers used in          Technology, Delhi (India); Ph.D., University of Illinois,
      education, distance learning, computer-based educational   Urbana-Champaign. Computational geometry, graph
      technology, computer learning, teacher training.           algorithms, combinatorial optimization, graphics, data
                                                                 structures.
      Ilene Burnstein, Research Associate Professor. B.S.,
      Brooklyn College; M.S., University of Maryland; Ph.D.,     Bogdan Korel, Associate Professor and Interim
      Illinois Institute of Technology. Software engineering,    Chairman. M.S., Technical University of Kiev (Ukraine);
      knowledge-based testing and debugging tools, test          Ph.D., Oakland University. Software engineering,
      process assessment and improvement models, capability      automated software testing and analysis.
      maturity models.
                                                                 Zhiling Lan, Assistant Professor, B.S. Beijing Normal
      Gruia Calinescu, Associate Professor. Diploma,             University, M.S. Chinese Academy of Sciences, Ph.D.,
      University of Bucharest (Romania); Ph.D., Georgia          Northwestern University. Parallel and distributed
      Institute of Technology. Algorithms, approximation         computing, performance analysis and modeling.
      algorithms, optical and wireless, ad-hoc networks.
                                                                 Xiang-Yang Li, Associate Professor. B.S., B.M., Tsinghua
      C. Robert Carlson, Professor, Director of Center for       University, Beijing (China); M.S., Ph.D., University of
      Professional Development. B.A., Augustana College; M.S.,   Illinois, Urbana-Champaign. Computational geometry,
      Ph.D., University of Iowa. Information architecture,       mesh generation, wireless ad hoc networks, cryptography,
      object-oriented modeling and design, software maturity     computer graphics.
      models.
                                                                 Edward M. Reingold, Professor. B.S., Illinois Institute of
      Edward Chlebus, Industry Associate Professor., Ph.D.,      Technology; M.S., Ph.D., Cornell University. Analysis of
      Cracow University, Network modeling, performance           algorithms, data structures, combinatorial algorithms,
      evaluation and tele-traffic analysis.                      mathematics, history, and computer implementation of
                                                                 calendars.
      Tzilla Elrad, Research Associate Professor. B.S., Hebrew
      University (Israel); M.S., Syracuse University; Ph.D.,     Shangping Ren, Assistant Professor. Ph.D., University of
      Technion Israel Institute of Technology (Israel).          Illinois, Urbana-Champaign. Domain specific computing
      Concurrent programming, formal verification, embedded      (including distributed computing, real-time computing,
      real-time systems and ADA standards.                       and mobile computing), and domain specific program-
                                                                 ming abstractions (such as language abstractions for
      Martha Evens, Research Professor. A.B., Bryn Mawr
                                                                 real-time systems, for context-aware adaptive mobile
      College; A.M., Radcliffe College; Ph.D., Northwestern
                                                                 systems, and for coordination among distributed asyn-
      University. Natural language processing, expert systems
                                                                 chronous entities).
      and intelligent tutoring/information systems.
                                                                 Xian-He Sun, Professor. Ph.D., Michigan State
      Ophir Frieder, IITRI Chair Professor. Ph.D., University
                                                                 University. Distributed and parallel system, network
      of Michigan. Parallel and distributed information
                                                                 software environment, scientific computing performance
      retrieval systems, communication systems, high perfor-
                                                                 evaluation.
      mance database systems, biological and medical data
      processing architectures.                                  Peng-Jun Wan, Associate Professor. B.S., Tsinghua
                                                                 University (China); M.S., Institute of Applied
      Nazli Goharian, Clinical Associate Professor, Ph.D.,
                                                                 Mathematics, Chinese Academy of Sciences (China);
      Florida Tech, Information retrieval, medical informatics
                                                                 Ph.D., University of Minnesota. Interconnection design,
      and data warehousing.
                                                                 routing and resource management in optical networks,
      Peter Greene, Research Professor. A.B., Amherst College;   low-earth orbit satellite networks, wireless local area
      Ph.D., University of Chicago. Neural networks, feeling-    networks.
      based reasoning, artificial intelligence and robotics.
                                                                 Wai Gen Yee, Assistant Professor, B.S. University of
                                                                 Chicago, M.S., Ph.D. Georgia Institute of Technology.
                                                                 Database systems, mobile and distributed computing.




167                                                              IIT Graduate Bulletin 2008–2010                              167
      Department of Computer Science
      Admission Requirements


      Cumulative undergraduate GPA minimum: 3.0/4.0                       institutions with a minimum cumulative GPA of 3.0/4.0.)
      Cumulative Master of Science GPA minimum (for Ph.D.                 Applicants with bachelor’s degrees in other disciplines
          applicants): 3.5/4.0                                            can be admitted to Master of Science or Master of
      GRE minimum combined (quantitative/verbal/analytical)               Computer Science programs. However, students whose
          score for tests taken prior to Oct.1, 2002:                     training does not include the equivalent of CS 201
      M.S.: 1400                                                          (Accelerated Introduction to Computer Science), CS 330
      MAS : 1200                                                          (Discrete Structures), CS 331 (Data Structures and
      Ph.D.: 1600, with a minimum in the 70th percentile of               Algorithms), CS 350 (Computer Organization and
          the quantitative section                                        Assembly Language Programming) and CS 351 (Systems
      GRE minimum score for tests taken on                                Programming) will be required to complete all of the
          or after Oct.1, 2002:                                           courses in which a deficiency exists. Some students may
      M.S.: 1000 (quantitative + verbal) 3.0 analytical writing           be able to complete their deficiencies with the following
      MAS: 900 (quantitative + verbal) 2.5 analytical writing             six-credit hour sequence with a grade of “B” or better:
      Ph.D.: 1100 (quantitative + verbal) 3.5 analytical writing,
          with a minimum in the 70th percentile of the                    CS 401 Introduction to Advanced Studies I
          quantitative section                                            CS 402 Introduction to Advanced Studies II
      TOEFL score (international students from non-English
      speaking countries): 550/213*                                       In addition, students who have not had at least one
                                                                          course in calculus will be required to take a calculus
      Meeting the minimum GPA and test score requirements                 course.
      does not guarantee admission. Test scores and GPA are
      just two of several important factors considered.                   Applicants to the Ph.D. program should hold an M.S.
      Applicants to master’s degree programs in computer                  degree in computer science with a minimum GPA of
      science should hold a bachelor’s degree in computer                 3.0/4.0 for their bachelor’s degree and 3.5/4.0 for their
      science with a minimum overall GPA of 3.0/4.0 or its                M.S. degree, or a minimum GPA of 3.5/4.0 for their
      equivalent. For international students from non-English             bachelor’s degree if they apply without a M.S. degree.
      speaking countries, a minimum TOEFL score of 550/213                For non-English speaking applicants without a U.S.
      is required. All applicants must submit scores from the             degree, a minimum TOEFL score of 550/213 is required.
      GRE general test. (The GRE requirement is waived for
      applicants to the Master of Computer Science program                * Paper-based test score/computer-based test score.
      who hold bachelor’s degrees from accredited U.S.




168                                     IIT Graduate Bulletin 2008–2010
                                                                                       Department of Computer Science
      Master of Computer Science


      30 credits.                                                  Students are required to take one course in each of the
                                                                   three core areas (Programming, Systems and Theory).
      This Professional Master’s degree program consists of 30
      credit hours of coursework in computer science. This         Programming core courses
      program is designed for those without a prior degree in      CS 522    Data Mining
      computer science, or those who are primarily interested      CS 525    Advanced Database Organization
      in a (non-thesis) program preparing them for careers as      CS 529    Information Retrieval
      working computer science professionals in business and       CS 540    Syntactic Analysis of Programming Languages
      industry. A full-time student enrolled in the program        CS 546    Parallel Processing
      should be able to complete the requirements in 1 to 1.5      CS 551    Operating System Design and Implementation
      years. Specializations in business, software engineering,
      networking and telecommunications and information            Systems core courses
      systems are available. Admission requirements include:       CS 542     Computer Networks I: Fundamentals
                                                                   CS 544     Computer Networks II: Network Services
      Four-year bachelor’s degree from an accredited university    CS 547     Wireless Networking
      with a minimum cumulative GPA of at least 3.0/4.0.           CS 550     Advanced Operating Systems
      Combined verbal and quantitative GRE examination             CS 555     Analytic Models and Simulation of
      score of at least 900 and an analytic writing score of at               Computer Systems
      least 2.5, for the post-October 2002 test. The GRE           CS 570     Advanced Computer Architecture
      requirement is waived for students with a bachelor’s         CS 586     Software Systems Architecture
      degree from an accredited college or university in the
      United States with a cumulative GPA of at least 3.0/4.0.     Theory core courses
                                                                   CS 530      Theory of Computation
      Prerequisites include knowledge of a high level program-     CS 532      Formal Languages
      ming language at the level of CS 201 (Java or C/C++          CS 533      Computational Geometry
      programming is required). Students with insufficient         CS 535      Design and Analysis of Algorithms
      background in computer science will be required to take      CS 536      Science of Programming
      CS 401 and CS 402 (Introduction to Advanced Studies I        CS 538      Combinatorial Organization
      and II) and to earn at least a “B” in these courses. These
      prerequisite courses do not count toward the 30 credit-
      hour requirement.

      A maximum of 12 credit hours of 400-level courses and a
      maximum of 6 credit hours of accelerated courses are
      allowed as part of the 30 credit hours requirement.
      Twenty hours of coursework must be in CS or CSP (CS
      Professional) courses at the 500 level.




169                                                                IIT Graduate Bulletin 2008–2010                           169
      Department of Computer Science
      Master of Computer Science with specialization in Business

      33.6 credit hours                                                  One other advisor-approved 500-level course offered by
      This program is designed to help computer science profes-          the Stuart School of Business for their MBA program
      sionals extend and deepen their technical and practical            (MBA, ACCT, EBUS, ECON, etc).
      knowledge of the field while introducing themselves to
      core topics in modern business practices. To complete the          Notes: Each business course counts as 3.6 quarter credit
      program students must satisfy Master of Computer                   hours = 2.4 semester credit hours. A student can take no
      Science requirements and also take four specialization             more than two MBA courses per quarter. With advisor
      courses from the Stuart School of Business:                        approval, students who have already taken MBA 510,
                                                                         520, or 530 or their equivalents can substitute other
      MBA 510:    Financial and Managerial Accounting                    courses. Applicants to the program are not required to
      MBA 520:    Organizational Behavior                                take the GMAT.
      MBA 530:    Managerial Economics

      Master of Computer Science with specialization in Computer Networking
      and Telecommunications
      30 credit hours                                                    Specialization courses
                                                                         CS 542       Computer Networks I: Fundamentals
      This program is designed to provide an in-depth knowl-             CS 544       Computer Networks II: Network Services
      edge of the theories and practices in computer                     CS 547       Wireless Networking
      networking and telecommunications. Students must sat-              CS 548       Broadband Networks
      isfy Master of Computer Science requirements and are               CS 555       Analytic Models and Simulation of
      also required to select four specialization courses. Note                       Computers Systems
      that CS 542, CS 544, and CS 547 also count as Systems              CS 549       Cryptography and Network Security
      core courses.

      Master of Computer Science with specialization in Information Systems

      30 credit hours                                                    Specialization courses
                                                                         CS 521       Object-Oriented Analysis and Design
      This program is designed to provide in-depth knowledge             CS 522       Data Mining
      of the principles of design and development of informa-            CS 525       Advanced Database Organization
      tion systems. Students must satisfy Master of Computer             CS 529       Information Retrieval
      Science requirements and are also required to select four          CS 545       Distributed Computing Landscape
      specialization courses. Note that CS 522, CS 525, and CS
      529 also count as Programming core courses


      Master of Computer Science with specialization in Software Engineering

      30 credit hours                                                    Core courses
                                                                         CS 536      Science of Programming
      This program is designed to provide an in-depth knowl-             CS 537      Software Metrics
      edge of theory and practices in software engineering,              CS 586      Software System Architectures
      including hands-on experience in software design, devel-           CS 587      Software Project Management
      opment and maintenance. Students must satisfy Master               CS 588      Advanced Software Engineering Development
      of Computer Science requirements and are also required             CS 589      Software Testing and Analysis
      to select four specialization courses here. Note that CS
      536 and CS 586 also count as Theory and Systems core
      courses respectively.




170                                    IIT Graduate Bulletin 2008–2010
                                                                                         Department of Computer Science
      Master of Science in Computer Science

      32 credit hours                                                in the industry in the field of computer science. Students
                                                                     have the option to pursue thesis research or project under
      The purpose of this program is to prepare students for         the guidance of a faculty adviser.
      the Ph.D. program and/or a research/development career

      Program Requirements

      All programs require a core curriculum of 12 credit hours      Students are required to take courses in three core areas:
      and 20 credit hours of elective courses, which may             Programming, Systems and Theory. The student is
      include a thesis or project. The student, with a faculty       required to take one course in the programming area, one
      adviser, develops a program of study that specifies the        course in the systems area, and two courses in the theory
      supportive and elective program and describes the thesis       area. The list below contains the core course offerings in
      or project, if included in the program. The program of         the M.S. program:
      study must consist of at least 32 credit hours, at least 20
      of which must be 500-level computer science courses. Up        Programming core courses
      to six credits of accelerated courses may be applied to the    CS 522    Data Mining
      degree. (Students should see the definition of “accelerated    CS 525    Advanced Database Organization
      courses” on page 41.)                                          CS 529    Information Retrieval
                                                                     CS 540    Syntactic Analysis of Programming Languages
      A student may choose from three options to complete the        CS 546    Parallel Processing
      degree:                                                        CS 551    Operating System Design and Implementation

          Option 1: Master’s thesis: Coursework and up to five       Systems core courses
          hours of CS 591 for a total of 32 hours. The result is     CS 542     Computer Networks I: Fundamentals
          a master’s thesis.                                         CS 544     Computer Networks II: Network Services
                                                                     CS 547     Wireless Networks
          Option 2: Master’s project: coursework and up to five      CS 550     Advanced Operating Systems
          hours of CS 597 for a total of 32 hours. The result is     CS 555     Analytic Models and Simulation of
          a project that results in one of the following:                       Computer Systems
                                                                     CS 570     Advanced Computer Architecture
                    1. A high-quality paper submitted for publi-     CS 586     Software Systems Architectures
                    cation as an article or as a technical report.
                                                                     Theory core courses
                    2. A high-quality piece of software. The         CS 530      Theory of Computation
                    software should be of distribution quality,      CS 532      Formal Languages
                    but can be proprietary.                          CS 533      Computational Geometry
                                                                     CS 535      Design and Analysis of Algorithms
          Option 3: 32 credit hours of coursework. A student         CS 536      Science of Programming
          must complete 32 hours of regular coursework               CS 538      Combinatorial Optimization
          including electives and core courses with a GPA of
          3.0/4.0 or better.

      Master of Science for Teachers (M.S.T.)

      32 credit hours                                                includes an M.S.T. project that deals with some aspect of
      Comprehensive exam (project)                                   computer science or with computer science applied to
                                                                     some other academic discipline. To be awarded the
      The M.S.T. is designed for experienced teachers or train-      M.S.T. degree, the student must satisfactorily complete
      ing officers to strengthen their academic background in a      the program of study and pass a project defense examina-
      rapidly changing discipline. The program, though flexible      tion, which consists of an oral defense of the project. Of
      enough to meet a variety of needs, also requires substan-      the 32 credit hours, 12 credit hours must be from the
      tive coursework in the core of computer science. The           courses listed below:
      student, with a faculty adviser, develops a program of
      study, describes the project, and specifies an elective        CS   485        Computers in Society
      program, which must be approved by the faculty of the          CS   560        Computer Science in the Classroom
      department.                                                    CS   561        The Computer and Curriculum Content
                                                                     CS   565        Computer-Assisted Instruction
      The program of study consists of 32 credit hours, at least     CS   566        Practicum in the Application of Computers
      20 hours of which must be 500-level courses. It also                           to Education

171                                                                  IIT Graduate Bulletin 2008–2010                              171
      Department of Computer Science
      Master of Telecommunications and Software Engineering (M.T.S.E.)


      30 credit hours                                                     telecommunications and information technologies. The
                                                                          program, jointly offered by the electrical and computer
      The Master of Telecommunications and Software                       engineering (ECE) and computer science (CS) depart-
      Engineering (M.T.S.E.) is a course-only degree program              ments, can be completed in one year of full-time study.
      that prepares students for professional practice in
      Admission Requirements


       A person holding a B.S.E.E., B.S.C.P.E. or B.S.C.S.
      degree has the necessary broad background to undertake
                                                                          Elective categories

      the M.T.S.E. program. A student without adequate back-
                                                                          I. Software Engineering
                                                                          CS 521       Object-Oriented Information Systems
      ground in specific areas is required to demonstrate                 CS 537       Software Metrics
      proficiency in prerequisite courses; an abbreviated list is         CS 589       Software Testing and Analysis
      given below.
                                                                          II. Telecommunication Systems
      Specific proficiency courses will be detailed for each              CS 544      Computer Networks II: Network Services
      student at the time of admission to the M.T.S.E. pro-               CS 548      Broadband Networks
      gram. Proficiency in a course may be demonstrated by                CS 555      Analytic Models and Simulation
      completing the course with a grade of “A” or “B,” or by                         of Computer Systems
      achieving a grade of “A” or “B” in a proficiency examina-           ECE 545     Computer and Communication Networks
      tion administered by the ECE or the CS department.
      Students should contact the departmental adviser for                III. Telecommunications
      more details on prerequisites and proficiency                       ECE 504      Communications Systems Design
      requirements.                                                       ECE 515      Modern Digital Communications
                                                                          ECE 519      Coding for Reliable Communications
      Students interested in the M.T.S.E. degree whose B.S.
      degree is not in electrical engineering, computer                   The remaining nine credits of coursework may be taken
      engineering, or computer science should contact the                 from courses listed above, or other courses approved by
      departmental advisor before applying.                               the M.T.S.E. adviser. Students with no background in
                                                                          communications or software engineering should consider
      Computer Science Prerequisites                                      including in their programs of study:
      CS 201     Accelerated Introduction to Computer Science
      CS 401     Introduction to Advanced Studies                         CS 487      Software Engineering
                                                                          CS 450      Operating Systems
      Electrical and Computer Engineering Prerequisites                   ECE 403     Communication Systems I
      ECE 211      Circuit Analysis I                                     ECE 407     Computer Communications Systems
      ECE 213      Circuit Analysis II
      ECE 308      Signals and Systems                                    Other courses that students in this program typically
      MATH 252 Introduction of Differential Equations                     choose from include:

      Program Requirement                                                 ECE 437     Digital Signal Processing I
      The M.T.S.E. is a professional master’s degree requiring            ECE 511     Analysis of Random Signals
      a minimum of 30 credit hours of adviser-approved course-            ECE 514     Digital Communication Principles
      work. The M.T.S.E program of studies must include a                 CS 542      Computer Networks I: Fundamentals
      minimum of 12 credit hours of ECE coursework and a                  CS 588      Advanced Software Engineering Development
      minimum of 12 credit hours of CS coursework. Four
      required courses and one elective course from each of the           With advisor approval, the M.T.S.E. program can include
      three categories given below must appear on the M.T.S.E.            up to two credit hours of Master’s Seminar (ECE 595,
      program of studies.                                                 ECE 596). It can also include up to four credits
                                                                          of accelerated courses.
      Required courses
      CS 586     Software Systems Architecture
      CS 587     Software Project Management
      ECE 513    Communication Engineering Fundamentals
      ECE 541    Performance Evaluation of Computers
                 and Communications Networks



172                                     IIT Graduate Bulletin 2008–2010
                                                                                        Department of Computer Science
      Master of Science in Computer Science/Master of Chemical Engineering


      44 credit hours                                               Students must fulfill the core course requirements of both
                                                                    departments. Students are required to take 18 credit
      This combined program in computer science and chemical        hours in graduate chemical engineering courses (courses
      engineering addresses the growing need for process            numbered 500 or higher) and 26 credit hours in computer
      engineers with expertise in computational modeling and        science courses (of which 20 credit hours must be 500-
      simulation of chemical processes. Similarly, the program      level courses). The 18 credit hours in chemical
      provides strong engineering background that is required       engineering courses consist of 12 credits in core courses
      today in many areas of computer science. The program is       listed in the description of the Master of Chemical
      jointly offered by the Department of Computer Science         Engineering requirements and six credit hours from the
      and the Department of Chemical and Environmental              following courses:
      Engineering. Students in this program earn both Master
      of Science in Computer Science and Master of Chemical         CHE   507   Computer-Aided Design
      Engineering degrees.                                          CHE   508   Process Design Optimization
                                                                    CHE   528   Analysis and Simulation of Chemical Processing
                                                                    CHE   532   Process Modeling
                                                                    CHE   533   Statistical Analysis of Process Data
                                                                    CHE   536   Computational Techniques in Engineering
                                                                    CHE   560   Statistical Quality and Process Control



      Doctor of Philosophy

      85 credit hours if without MS degree; 54 credit hours if      is to develop computer scientists who can take complex,
      with MS degree.                                               undefined problems and restructure and resolve them
      Qualifying exam                                               through imaginative application of their knowledge.
      Comprehensive exam                                            Graduates typically go on to teaching and/or research
      Dissertation and oral defense                                 positions in industry and universities. The degree
                                                                    normally requires three to four years beyond the master’s
      The Ph.D. is awarded in recognition of a significant origi-   degree for full-time students. Part-time students can also
      nal contribution to one of the fields of computer science     enter the program but will need more time to complete
      and a high level of mastery in several fields of computer     the degree. Generally, students can enter the program
      science and a significant original contribution to one of     with either a BS degree or an MS degree in related fields.
      those fields. Students work with faculty members to           The requirements of the Ph.D. program are described
      develop programs to match individual interests. The goal      separately as follows.

      Requirements for students entering with B.S. Degree

      85 credit hours                                               The Ph.D. (post B.S.) program (called the direct Ph.D.
      Qualifying exam                                               program) encourages bright and highly motivated
      Comprehensive exam                                            students to participate in research program immediately
      Dissertation and oral defense                                 after the B.S. degree.



      Admission Requirements

      The applicants should have at least a four-year B.S           If the TOEFL score is less than 600, the applicant is
      degree in computer science. Admission to the program is       required to take the English Proficiency Exam adminis-
      competitive and depends on a student’s GRE score and it       tered by the IIT Humanities Department. Applicants
      is expected that applicants will have a high grade-point      must submit three letters of recommendation.
      average. For non-English speaking applicants without a
      U.S. degree, a minimum TOEFL score of 550 is required.




173                                                                 IIT Graduate Bulletin 2008–2010                              173
      Department of Computer Science
      Program Requirements



      The program requires students to complete at least 85               M.S. Exit from Program
      and at most 128 advisor-approved semester credit hours              Students wishing to leave the direct Ph.D. program with
      of study. This must include                                         the degree of Master of Science in Computer Science
                                                                          must satisfy all the requirements of the Master’s degree
          0-12 credits of 400-level courses                               and either write an M.S. thesis or pass the Ph.D. qualify-
                                                                          ing examination.
          36-54 credits of 500- and 600- level courses. Among
          them, at most 6 credits come from outside the                   Ph.D. Qualifying Examination
          Computer Science Department of IIT. Credits from                The Ph.D. Qualifying Exam has two parts: a written
          CS 595 are allowed.                                             examination and an oral examination. The written exam-
                                                                          ination is used to judge a student’s breadth of knowledge;
          6-12 credits of CS 597 (Reading and Special                     the oral examination is used to judge a student’s research
          Problems)                                                       potential. The first attempt in oral examination and the
                                                                          written examination must be taken no later than a stu-
          24-48 credits of CS 691 (Research/Thesis for Ph.D.              dent’s 5th semester. The second attempt must be taken
          degree). Note CS 691 can only be taken after passing            no later than a student’s 6th semester. These require-
          the Ph.D. qualifying exam.                                      ments hold for both full-time and part-time students

          1 credit of Ph.D. seminar                                       The written examination is divided into three, indepen-
                                                                          dent “area” examinations. To pass the written
      Notice that no credits will be given to accelerated courses         examination, a student must pass all the area examina-
      (700-level courses). No credits are given to courses in             tions. Extra coursework cannot be used in lieu of passing
      which the student earns a grade of C or below. The                  an area examination. Area examinations can be taken in
      student may have to take some other courses as required             the same or different semesters. A student who fails an
      by the advisor. The credit hours of 500-level coursework            area examination can retake the area examination, but
      must include five core courses with at least one each from          only once. See the computer science webpage for more
      Groups I, II, and III described below and at least one              detail of qualifying examinations.
      course from each of two different groups from among
      Groups IV, V, and VI. Advanced courses may be                       Comprehensive (Research Proposal) Examination
      substituted after approval of the department. The                   The purpose of the Comprehensive Examination is to
      groups of core courses are:                                         ensure that the candidate has the background to carry out
                                                                          successful research in the chosen area and that the
      Group I: Theory of Computation                                      research problem is properly formulated and has sufficient
      CS 530      Theory of Computation                                   scholarly merit. The student (in concert with the student’s
      CS 533      Computational Geometry                                  research advisor) must develop a written research proposal
      CS 535      Design and Analysis of Algorithms                       containing a literature review, a proposed research topic,
      CS 538      Combinatorial Optimization                              and a program of research based upon this topic, and then
                                                                          present the proposal orally as well.
      Group II: Systems
      CS 546      Parallel Processing                                     The student must request appointment of an examination
      CS 550      Advanced Operating Systems                              committee using Form #301. The examination committee
      CS 570      Advanced Computer Architecture                          may consist of from four to seven members. It must
                                                                          include at least three full-time faculty members from the
      Group III: Programming Languages                                    Computer Science Department and one full-time faculty
      CS 536       Science of Programming                                 member from another department in the university.
      CS 541       Topics in Compiler Construction                        Other committee members from inside or outside the
      CS 545       Distributed Computing Landscape                        university may be chosen. The student should consult
                                                                          with his/her research advisor concerning the makeup of
      Group IV: Networks                                                  the committee.
      CS 542     Computer Networks I: Fundamentals
      CS 544     Computer Networks II: Network Services                   Thesis Defense
                                                                          Each student must present an oral defense of his/her
      Group V: Databases                                                  Ph.D. Thesis. The Thesis Review Committee is appointed
      CS 525     Advanced Database Organization                           in much the same way as the Ph.D. Comprehensive
                                                                          Examination Committee. It will examine the written
      Group VI: Software Engineering                                      thesis and examine the student during the oral defense.
      CS 586     Software Systems Architectures                           All Ph.D. Thesis Defenses are open to the public.

174                                     IIT Graduate Bulletin 2008–2010
                                                                                     Department of Computer Science
      Requirements for students entering with an M.S. Degree



      54 credit hours
      Qualifying exam
      Comprehensive exam
      Dissertation and oral defense



      Admission Requirements

      The applicants should have an M.S degree in computer       If the TOEFL score is less than 600, the applicant is
      science or related fields. Admission to the program is     required to take the English Proficiency Examination
      competitive and depends on a student’s GRE score and it    administered by the IIT Humanities Department.
      is expected that applicants will have a high grade-point   Applicants must submit three letters of recommendation.
      average. For non-English speaking applicants without a
      U.S. degree, a minimum TOEFL score of 550 is required.




175                                                              IIT Graduate Bulletin 2008–2010                           175
      Department of Computer Science
      Program Requirements



      If the student has an M.S. degree in computer science,              must include five core courses with at least one each from
      the program requires the student to complete at least 54            Groups I, II, and III described before and at least two
      adviser-approved semester credit hours of study. This               courses from two different groups from among Groups IV,
      must include                                                        V, and VI. Advanced courses may be substituted after
                                                                          approval of the department.
          0-12 credits of 400-level courses
                                                                          Ph.D. Qualifying Examination
          18-30 credits of 500- and 600-level courses. Amongst            The Ph.D. Qualifying Examination has two parts: a
          them, at most 6 credits come from outside the                   written examination and an oral examination. The
          computer science department. Credits from CS 595                written exam is used to judge a student’s breadth of
          are allowed.                                                    knowledge; the oral exam is used to judge a student’s
                                                                          research potential. The first attempt at the oral examina-
          3-12 credits of CS 597 (Reading and Special                     tion and the written examination must be made no later
          Problems)                                                       than a student’s 3rd semester. The second attempt must
                                                                          be made no later than a student’s 4th semester. These
          24-48 credits of CS 691 (Research/Thesis for Ph.D.              requirements hold for both full-time and part-time
          degree). Note CS 691 can only be taken after passing            students.
          the Ph.D. qualifying exam.
                                                                          The written examination is divided into three, indepen-
          1 credit of Ph.D. seminar                                       dent “area” examinations. To pass the written
                                                                          examination, a student must pass all the area examina-
      Notice that no credits will be given to accelerated courses         tions. Extra coursework cannot be used in lieu of passing
      (700-level courses). No credits are given to courses in             an area examination. Area examinations can be taken in
      which the student earns a grade of C or below. The                  the same or different semesters. A student who fails an
      student may have to take some other courses as required             area examination can retake the area examination, but
      by the adviser. The credit hours of 500-level coursework            only once. See the computer science web page for more
      must include three core courses with at least one each              details about the qualifying examinations.
      from Groups I, II, and III described before. Advanced
      courses may be substituted after approval of the                    Comprehensive (Research Proposal) Examination
      department.                                                         The purpose of the Comprehensive Examination is to
                                                                          ensure that the candidate has the background to carry
      If the student has an M.S. degree in a field other than             out successful research in the chosen area and that the
      computer science, the program requires the student to               research problem is properly formulated and has suffi-
      complete at least 60 advisor-approved semester credit               cient scholarly merit. The student (in concert with the
      hours of study. This must include                                   student’s research adviser) must develop a written
                                                                          research proposal containing a literature review, a
          0-12 credits of 400-level courses                               proposed research topic, and a program of research
                                                                          based upon this topic, and then present it orally as well.
          24-30 credits of 500- and 600-level courses. Among
          them, at most 6 credits may come from outside the               The student must request appointment of an examination
          computer science department. Credits from CS595                 committee on Form #301. The examination committee
          are allowed.                                                    may consist of from four to seven members. It must
                                                                          include at least three full-time faculty members from the
          3-12 credits of CS 597 (Reading and Special                     Computer Science Department and one full-time faculty
          Problems)                                                       member from another department in the university.
                                                                          Other committee members from inside or outside the uni-
          24-48 credits of CS 691 (Research/Thesis for the                versity may be chosen. The student should consult with
          Ph.D. degree). Note CS 691 can only be taken after              his/her research adviser concerning the makeup of the
          passing the Ph.D. qualifying exam.                              committee

          1 credit for CS 695 (the Ph.D. seminar)                         Thesis Defense
                                                                          Each student must present an oral defense of his/her
      Notice that no credits will be given to accelerated courses         Ph.D. Thesis. The Thesis Review Committee is appointed
      (700-level courses). No credits are given to courses in             in much the same way as the Ph.D. Comprehensive
      which the student earns a grade of C or below. The                  Examination Committee. It will examine the written
      student may have to take some other courses as required             thesis and examine the student during the oral defense.
      by the adviser. The credit hours of 500-level coursework            All Ph.D. Thesis Defenses are open to the public.

176                                     IIT Graduate Bulletin 2008–2010
                                                                                         Department of Computer Science
      Certificate Programs


      Certificate programs offer working professionals an            Courses taken may be later applied toward an M.S.
      opportunity to increase their knowledge and skills in the      degree program. Applicants should have a bachelor’s
      specific areas of computer science. A certificate represent-   degree from an accredited college or university. The
      ing proven academic performance is presented after the         degree need not be in computer science.
      required coursework is completed with a GPA of 3.0/4.0.



      Computer Networking and Telecommunications

      The student in this program must complete nine hours of
      coursework from the following:

      CS   455     Data Communications
      CS   542     Computer Networks I: Fundamentals
      CS   544     Computer Networks II: Network Services
      CS   548     Broadband Networks

      Information Systems

      The student in this program must complete nine hours of
      coursework from the following:

      CS 425       Database Organization
      CS 521       Object-Oriented Analysis and Design
      CS 525       Advanced Database Organization



      Software Engineering

      The student in this program must complete nine hours of
      coursework from the following:

      CS   445     Object-Oriented Design and Programming            CS   588        Advanced Software Engineering Development
      CS   487     Software Engineering                              CS   589        Software Testing and Analysis
      CS   537     Software Metrics                                  CS   750        Computer-Aided Software Engineering
      CS   586     Software Systems Architecture                     CS   763        Automated Software Testing
      CS   587     Software Project Management



      Accelerated Courses

      The department offers accelerated courses for credit in        period. If taken by non-degree students, these courses can
      several areas of computer science. These courses go            be applied towards requirements for an M.S. degree at
      beyond traditional core topics and are designed for work-      IIT.
      ing professionals who are interested in keeping abreast of
      rapidly changing technologies. Accelerated courses pro-
      vide an opportunity for degree-seeking students at IIT to
      complete M.S. degree requirements in a shorter time




177                                                                  IIT Graduate Bulletin 2008–2010                              177
      Department of Computer Science
      Course Descriptions                        Prerequisite: CS 351 or CS 402 and      CS 529
                                                 CS 430. (3-0-3)                         Information Retrieval
      Numbers in parentheses indicate                                                    Continued exploration of information
      class, lab and credit hours,               CS 521                                  retrieval algorithms. Topics will
      respectively.                              Object-Oriented Analysis                include: Text classification, meta-
                                                 and Design                              search, mediators, semi-structured
      CS 511                                     This course describes a methodology     information retrieval, name search,
      Topics in Computer Graphics                that covers a wide range of tech-       etc. Students will continuously study
      Covers advanced topics in computer         niques used in system analysis,         new contributions to the field. A
      graphics. The exact course contents        modeling and design. These tech-        large project will be required that
      may change based on recent                 niques integrate well with software     encourages students to push the lim-
      advances in the area and the instruc-      process management techniques           its of existing information retrieval.
      tor teaching it. Possible topics           and provide a framework for soft-       Prerequisites: CS 429. (3-0-3)
      include: Geometric modeling,               ware engineers to collaborate in the
      Subdivision surfaces, Procedural           design and development process.         CS 530
      modeling, Warping and morphing,            The methodology features the            Theory of Computation
      Model reconstruction, Image based          integration of concepts, including      Computability topics such as Turing
      rendering, Lighting and appearance,        software reusability, frameworks,       machines, nondeterministic
      Texturing, Natural phenomena, Non-         design patterns, software architec-     machines, undecidability results, and
      photorealistic rendering Particle          ture, software component design,        reducibility. Computational
      systems, Character animation,              use-case analysis, event-flow           Complexity topics such as time com-
      Physically based modeling and ani-         analysis, event-message analysis,       plexity, NP-Completeness and
      mation. Prerequisite: CS 411. (3-0-3)      behavioral-life cycle analysis, fea-    intractability, time and space hierar-
                                                 ture, multiple-product, risk and rule   chy theorems. Introduces the
      CS 512                                     analysis, and automatic code genera-    complexity classes P, NP, NL, L,
      Computer Vision                            tion. Prerequisite: CS 425. (3-0-3)     PSPACE, NC, RNC, BPP and their
      Introduction to fundamental topics in                                              complete problems. Prerequisites: CS
      computer vision and the application        CS 522                                  430. (3-0-3)
      of statistical estimation techniques to    Data Mining
      this area. Intended to give the stu-       Continued exploration of data mining    CS 531
      dent a good basis for work in this         algorithms. More sophisticated algo-    Topics in Automata Theory
      important field. Topics include:           rithms such as support vector           Topics selected from mathema-
      Feature extraction, Probabilistic          machines will be studied in detail.     tical systems and automata theory,
      modeling, Camera calibration,              Students will continuously study new    decision problems, realization and
      Epipolar geometry, Statistical esti-       contributions to the field. A large     minimization, algebraic decomposi-
      mation, Model reconstruction,              project will be required that encour-   tion theory and machines in a
      Statistical filtering, Motion estima-      ages students to push the limits of     category. Prerequisite: CS 430.
      tion, Recognition, Shape from single       existing data mining techniques.        (3-0-3)
      image cues. Prerequisite: CS 430.          Prerequisite: CS 422. (3-0-3)
      (3-0-3)                                                                            CS 532
                                                 CS 525                                  Formal Languages
      CS 520                                     Advanced Database Organization          This course provides an introduction
      Database Design and Engineering            Comprehensive coverage of the prob-     to the theory of formal languages
      Overview of database architectures,        lems involved in database system        and machines. Topics to be covered
      including the Relational,                  implementation and an in-depth          include: strings, alphabets, and lan-
      Hierarchical, Network and Object           examination of contemporary struc-      guages; grammars, the Chomsky
      Models. Database normalization and         tures and techniques used in modern     Hierarchy of languages and corre-
      design. Implementation issues for          database management systems.            sponding machines (regular sets and
      database management systems,               Teaches advanced skills appropriate     finite automata, context free lan-
      including the processing and parsing       for DBMS architects and developers,     guages of various types, Turing
      of SQL queries, query optimization,        database specialists, and the design-   machines and recursive functions,
      integrity, and concurrency control.        ers and developers of client/server     undecidable problems), and computa-
      Distributed and parallel databases         and distributed systems. Focus is on    tional complexity, polynomial-time
      and data warehouse issues are              transaction management, database        reductions, NP-completeness.
      addressed. Solid programming skills        structures and distributed process-     Prerequisite: CS 430. (3-0-3)
      are required. Implementation of a          ing. Prerequisite: CS 425. (3-0-3)
      database management engine proto-
      type is required. No credit is given
      for both this course and CS 425.



178                                     IIT Graduate Bulletin 2008–2010
                                                                                       Department of Computer Science
      CS 533                                   CS 538                                       ics such as protocol delay, end-to-end
      Computational Geometry                   Combinatorial Optimization                   network response time, intranet
      The course covers fundamental algo-      Linear programs and their proper-            models, Internet traffic models, web
      rithms and data structures for           ties. Efficient algorithms for linear        services availability, and network
      Convex Hulls, Voronoi Diagrams,          programming. Network flows, mini-            management. Prerequisites: CS 542
      Delauney Triangulation, Euclidean        mum cost flows, maximum                      or ECE 545. (3-0-3)
      Spanning Trees, Point Location,          matchings, weighted matchings, and
      Range Searching. Also included are       matroids. Prerequisite: CS 430 and a         CS 545
      lower bounds and discrepancy the-        linear algebra course. (3-0-3)               Distributed Computing Landscape
      ory. Optimization in geometry will be                                                 Introduction to the theory of concur-
      covered. This includes fixed dimen-      CS 540                                       rent programming languages. Topics
      sional linear programming and            Syntactic Analysis                           include formal methods of concurrent
      shortest paths. Graphic data struc-      of Programming Languages                     computation as process algebra, nets
      tures such as BSP trees will be          Formal definition of syntax with             and actors, high-level concurrent pro-
      covered. Prerequisites: CS 430 and a     emphasis on context-free languages.          gramming languages and their
      linear algebra course. (3-0-3)           Elementary techniques for scanning           operational semantics, methods for
                                               and parsing programming languages.           reasoning about correctness and the
      CS 535                                   Symbol table management. Semantic            complexity of concurrent programs.
      Design and Analysis of Algorithms        routines and code generation. The            Prerequisite: CS 450. (3-0-3)
      Design of efficient algorithms for a     class will write a simple translator.
      variety of problems, with mathemati-     Prerequisites: CS 440. (3-0-3)               CS 546
      cal proof of correctness and analysis                                                 Parallel and Distributed Processing
      of time and space requirements.          CS 541                                       General issues of parallel and distrib-
      Topics include lower bounds for sort-    Topics in Compiler Construction              uted processing including systems,
      ing and medians, amortized analysis      Advanced topics in compiler con-             programming, performance evaluation
      of advanced data structures, graph       struction, including incremental and         and application of parallel and dis-
      algorithms (strongly connected           interactive compiling, error correc-         tributed computers. The influence of
      components, shortest paths, mini-        tion, code optimization and models of        communication and parallelism on
      mum spanning trees, maximum              code generation. The objective of the        algorithm design. Prerequisites:
      flows and bipartite matching), and       course is to provide an in-depth cov-        CS 430, CS 450. (3-0-3)
      NP-Completeness. Prerequisites: CS       erage of compiler optimization
      430. (3-0-3)                             techniques, including both classical         CS 547
                                               optimizations and areas of current           Wireless Networking
      CS 536                                   interest in compiler research.               This course introduces cellular/PCS
      Science of Programming                   Prerequisite: CS 440. (3-0-3)                systems, short-range mobile wireless
      Formal specification of how programs                                                  systems, fixed wireless systems,
      execute operational semantics, how       CS 542                                       satellites, and ad hoc wireless
      mathematical functions programs          Computer Networks I:                         systems. It explains in detail the
      compute (denotational semantics) and     Fundamentals                                 underlying technology as well regula-
      how to use logic to characterize prop-   This course focuses on the engineer-         tions, politics, and business of these
      erties and invariants of the program     ing and analysis of network protocols        wireless communications systems. It
      execution (axiomatic semantics).         and architecture in terms of the             looks beyond the hype, examining
      Prerequisite CS 331 or CS 401. (3-0-3)   Internet. Topics include content dis-        just what is and is not possible with
                                               tribution, peer-to-peer networking,          present-day and future wireless sys-
      CS 537                                   congestion control, unicast and mul-         tems. As an advanced graduate
      Software Metrics                         ticast routing, router design,               course, it will combine extensive
      Theoretical foundations for              mobility, multimedia networking,             reading and in-class discussion of the
      software metrics. Data collection.       quality of service, security and pol-        research literature with in-depth
      Experimental design and analysis.        icy-based networking. Prerequisite:          independent research projects of the
      Software metric validation.              CS 455. (3-0-3)                              students’ own choosing. Prerequisite:
      Measuring the software development                                                    CS 455. (3-0-3)
      and maintenance process. Measuring       CS 544
      software systems. Support for met-       Computer Networks II:
      rics. Statistical tools. Setting up a    Network Services
      measurement program. Application         Qualitative and quantitative analysis
      of software measurement.                 of networks. A combination of analyt-
      Prerequisite: CS 487. (3-0-3)            ical and experimental analysis
                                               techniques will be used to study top-




179                                                                IIT Graduate Bulletin 2008–2010                                    179
      Department of Computer Science
      CS 548                                    CS 550                                   CS 555
      Broadband Networks                        Advanced Operating Systems               Analytic Models and Simulation
      The course studies the architectures,     Advanced operating system design         of Computer Systems
      interfaces, protocols, technologies,      concepts, such as multimedia OS,         Analytic and simulation techniques
      products and services for broadband       multiprocessor systems, virtual          for the performance analysis of com-
      (high-speed) multimedia networks.         memory management, process migra-        puter architecture, operating systems
      The key principles of the protocols       tion, process scheduling,                and subsystems. Rigorous develop-
      and technologies used for representa-     synchronization, file systems. Study     ment of queuing models. Study of
      tive network elements and types of        of systems highlighting these con-       simulation languages and models.
      broadband network are studied.            cepts. Prerequisite: CS 450. (3-0-3)     Prerequisites: CS 450. (3-0-3)
      Specifically, cable
      modems, Digital Subscriber Lines,         CS 551                                   CS 560
      Power Lines, wireless 802.16              Operating System Design                  Computer Science in the Classroom
      (WiMax), and broadband cellular           and Implementation                       Preparation and formulation of
      Internet are covered for broadband        This course covers in detail the         computer science courses. Detailed
      access; for broadband Local Area          design and implementation of             weekly materials organized and
      Networks (LANs), Gigabit Ethernet,        processes, interprocess communica-       perfected. The goal being to develop
      Virtual LANs, and wireless LANs           tion, semaphores, monitors, message      Open Course Ware (OCW). (1-4-3)
      (802.11 WiFi and Bluetooth) are dis-      passing, remote procedure calls,
      cussed; for broadband Wide Area           scheduling algorithm, input/output,      CS 561
      Networks (WANs), the topics covered       device drivers, memory management,       The Computer
      include optical networks                  file system design, network file         and Curriculum Content
      (SONET/SDH, DWDM, optical net-            servers, atomic transactions, security   Emphasis on the presentation
      work nodes, optical switching             and protection mechanisms. The           concepts. Selecting the best mode
      technologies), frame-relay, ATM,          hardware-software interface is exam-     of delivery and using the power
      wire-speed routers, IP switching, and     ined in detail. Students modify and      of the web page to enhance the
      MPLS. Also, quality of service issues     extend a multi-user operating sys-       presentation. (1-4-3)
      in broadband networks and a view of       tem. Prerequisites: CS 450. (3-0-3)
      the convergence of technologies in                                                 CS 565
      broadband networks are covered.           CS 552                                   Computer-Assisted Instruction
      Prerequisite: CS 455. (3-0-3)             Distributed Systems                      Hardware and software for the
                                                Advanced distributed system design       effective use of the computer in
      CS 549                                    concepts, such as distributed            an educational environment,
      Cryptography                              processes and memory management,         CAI (Computer-Assisted/Aided
      and Network Security                      distributed file systems, consistency    Instruction) being one of the major
      This course provides an introduction      and fault tolerance, security and        areas of investigation. Prerequisite:
      to the theory and the practice of         transaction system structures, and       CS 560 or CS 561. (3-0-3)
      cryptography and network security.        distributed programming.
      The course covers conventional            Programming in representative dis-       CS 566
      encryption such as classical encryp-      tributed environments. Prerequisite:     Practicum in the Application
      tion techniques, modern encryption        CS 450. (3-0-3)                          of Computers to Education
      techniques, and encryption algo-                                                   Provides supervised experience in
      rithms. Students are introduced to        CS 553                                   the development of computer-based
      the basic number theory, which is         Pervasive Computing                      teaching units. Evaluation of differ-
      used as the foundation for public-key     Concepts in computing that create an     ent theoretical and/or technical
      encryption. The public-key cryptogra-     ubiquitous environment, combining        approaches to use of computer in the
      phy such as encryption methods and        processors and sensors with network      classroom. Prerequisite: CS 560 or
      digital signatures is covered.            technologies (wireless and otherwise)    CS 561. (1-4-3)
      Message authentication and hash           and intelligent software. Issues of
      functions are also discussed.             middleware and middleware develop-       CS 570
      Students will learn techniques of key     ment, including mobility, context        Advanced Computer Architecture
      management, secret sharing and con-       awareness, resource discovery, cyber-    Advanced computer system design
      ducting interactive proofs. In            foraging, agents, QOS, P2P, web          and architecture, such as pipelining
      addition, the practical network and       services as well as other pervasive      and instruction-level parallelism,
      security protocols are discussed.         and ubiquitous technologies.             memory-hierarchy system, intercon-
      Prerequisite: CS 430. (3-0-3)             Prerequisites: CS 450 or CS 455 and      nection networks, multiprocessors,
                                                470. (3-0-3)                             and clusters of servers. Selected
                                                                                         study on current experimental com-
                                                                                         puter systems. Prerequisite: CS450
                                                                                         and CS470. (3-0-3)

180                                    IIT Graduate Bulletin 2008–2010
                                                                                        Department of Computer Science
      CS 572                                    State space models, Kalman filtering,        CS 586
      Advanced Topics in Computer               Visual sensors, Sampling theory,             Software Systems Architectures
      Architecture                              Image features, Depth reconstruc-            This course covers the state-of-the-
      Current problems in computer archi-       tion, Multiple view geometry,                art in architectural design of complex
      tecture. Prerequisite: CS 570. (3-0-3)    Ego-motion, Active vision,                   software systems. The course consid-
                                                Reasoning, Spatial decomposition,            ers commonly used software system
      CS 580                                    Geometric representations,                   architectures, techniques for design-
      Medical Informatics                       Topological representations, Path            ing and implementing these archi-
      This course provides an introduction      planning, Spatial uncertainty, Active        tectures, models and notations for
      to computer applications in health        control, Pose maintenance, Dead              characterizing and reasoning about
      care with an emphasis on the contri-      reckoning, Correlation-based local-          architectures, and case studies of
      butions of artificial intelligence and    ization, Sensorial maps, Task                actual software system architectures.
      database analysis. Topics will            planning and task interference,              Prerequisite: CS 487. (3-0-3)
      include medical expert systems, med-      Multi-agent coordination.
      ical decision analysis, reasoning         Prerequisite: CS 430. (3-0-3)                CS 587
      under uncertainty, medical tutoring                                                    Software Project Management
      systems, medical language process-        CS 583                                       Concepts of software product and
      ing, medical record systems, hospital     Expert Systems                               process quality. Role of TQM in soft-
      and office information systems, labo-     Medical expert systems and clinical          ware project management. Use of
      ratory, pharmacy, radiology and           decision analysis. Decision making           metrics, feasibility studies, cost and
      bibliographic information retrieval       under uncertainty. Inference mecha-          effort estimates. Discussion of project
      systems. Presentations and papers         nisms for expert systems: production         planning and scheduling. The project
      or projects will be required.             rules, pattern recognition, automatic        team and leadership issues. The
      Prerequisites: CS 425, CS 480.            theorem proving, fuzzy logic. Expert         Capability Maturity Model: basic
      (3-0-3)                                   system architecture. Knowledge engi-         tenets and application of process
                                                neering. Information retrieval.              evaluation. Prerequisite: CS 487.
      CS 581                                    Natural language interfaces.                 (3-0-3)
      Topics in Artificial Intelligence         Prerequisite: CS 480. (3-0-3)
      Covers various advanced topics in AI,                                                  CS 588
      including both theory and practice.       CS 584                                       Advanced Software
      Content may vary by instructor.           Machine Learning                             Engineering Development
      Possible topics include: Planning:        Covers basic algorithms and tech-            Software development process
      STRIPs planning; Partial-order plan-      niques used in Machine Learning, to          improvement is a major objective of
      ning; Situation calculus; Theorem         give the student a good basis for            this course. This is achieved through
      proving; GraphPlan/SatPlan;               work in this highly relevant field.          a series of individual programming
      Transformational planning;                Topics include: Version space learn-         and process projects. Students learn
      Simulated annealing; Motion plan-         ing, Computational learning theory,          to plan their projects, apply measure-
      ning; Case-based reasoning;               PAC-learning, VC-dimension, On-              ments, estimate size, schedule tasks,
      Multi-agent coordination;                 line learning, Winnow, Perceptrons,          and classify defects in order to
      Negotiation planning;                     Neural Networks, Backpropagation,            improve the quality of both their
      Representation and Reasoning:             Genetic algorithms, Bayesian learn-          development process and their soft-
      Logical representation; Frame prob-       ing, Experimental design,                    ware products. Prerequisite: CS 487.
      lem; Probabilistic reasoning;             Decision-tree learning, Covering             (3-0-3)
      Bayesian networks; Game Playing:          algorithms for learning rule sets,
      Minimax search; Evaluation func-          Minimum description length,                  CS 589
      tions; Learning evaluation functions;     Clustering algorithms,                       Software Testing and Analysis
      Markov Decision Processes;                Reinforcement learning, Markov               Concepts and techniques for testing
      Reinforcement learning for games;         decision processes. Prerequisite: CS         and analysis of software. Software
      Developing AI agents; Multi-agent         480. (3-0-3)                                 testing at the unit, subsystem, and
      planning. Prerequisite: CS 480. (3-0-3)                                                system levels. Specification-based
                                                CS 585                                       testing. Code-based testing. Model-
      CS 582                                    Natural Language Processing                  based testing. Methods for test
      Computational Robotics                    An introduction to the problems of           generation and validation. Static and
      Covers basic algorithms and tech-         computing with human languages.              dynamic analysis. Formal methods
      niques used in Computational              Parsing. Semantic representations.           and verification. Reliability analysis.
      Robotics, to give the student a good      Text generation. Lexicography.               Prerequisite: CS 487. (3-0-3)
      basis for work in this highly relevant    Discourse. Sublanguage studies.
      field. Topics include: Locomotion,        Applications to CAI, database inter-
      Non-visual sensors and algorithms,        faces and information retrieval.
      Uncertainty modeling, data fusion,        Prerequisite: CS 445. (3-0-3)

181                                                                 IIT Graduate Bulletin 2008–2010                                    181
      Department of Computer Science
      CS 590                                       CS 642                                   with client-server systems.
      Seminar in Computer Science                  Advanced Topics in Networking            Active/passive client-server
      Investigation and discussion by              Introduction to advanced networking      technologies, as well as public,
      faculty and students concentrated            research. A particular focus area will   enterprise-wide, and inter-enterprise
      on some topic of current interest.           be considered, keeping current with      approaches to decision and operation
      May be taken more than once.                 advances in computer networking.         support are discussed and imple-
      Prerequisite: Written consent of             Quantitative methods will be empha-      mented. Prerequisite: CS 425. (3-0-3)
      instructor. (3-0-3)                          sized. Prerequisite: CS 542. (3-0-3)
                                                                                            CSP 541
      CS 591                                       CS 681                                   Internet Technologies
      Research and Thesis                          Topics in Computational Linguistics      This course focuses on the technolo-
      for M.S. Degree                              Covers various topics in linguistics     gies and protocols used by Internet
      (Credit: Variable)                           as they may be applied to various        WAN’s and LAN’s. The fundamental
                                                   computational problems in AI, NLP,       architecture, organization, and rout-
      CS 595                                       or IR. The topics in this course may     ing principles of the Internet are
      Topics in Computer Science                   change between semesters depending       described. Part of the course will
      This course will treat a specific topic,     on the instructor teaching the course    focus on emerging Internet technolo-
      varying from semester to semester,           and the current state of the art in      gies. Prerequisite: CS 455. (3-0-3)
      in which there is particular student         this area. Possible topics include:
      or staff interest. May be taken more         Systemic Functional Linguistics,         CSP 542
      than once. Prerequisite: Written con-        Clausal structure, Group structure,      Internet Design and Analysis
      sent of instructor. (Credit: Variable)       Complex structure, Cognitive             This course examines the principles
                                                   Linguistics, Process semantics.          of network design. The design
      CS 597                                       Prerequisite: CS 585. (3-0-3)            process is studied from requirements
      Reading and Special Problems                                                          gathering to deployment. The stu-
      Prerequisite: Written consent of             CS 689                                   dent will gain experience in
      instructor. May be taken more than           Advanced Topics in Software              estimating application load, network
      once. (Credit: Variable)                     Engineering                              sizing, component choice, and proto-
                                                   Course content is variable and           col choice. Internetworking between
      CS 612                                       reflects the current trends in soft-     popular components and protocols
      Topics in Computer Vision                    ware engineering. Prerequisite:          will be studied. Analytical and simu-
      Cover advanced topics in computer            Consent of instructor. (3-0-3)           lation techniques are described and
      vision to enhance the knowledge of                                                    used to design several local- and
      students interested in this highly           CS 691                                   wide-area networks. Prerequisite: CS
      important area. The topics in this           Research and Thesis                      455. (3-0-3)
      course may change between semes-             for Ph.D. Degree
      ters depending on the instructor             (Credit: Variable)                       CSP 543
      teaching the course and the current                                                   Multimedia Networking
      state of the art in this area. Possible      CS 695                                   This course covers the architectures,
      topics include: Image based modeling         Doctoral Seminar                         protocols, and design issues for mul-
      and rendering, Multiple view geome-          (1-0-1)Courses available for the         timedia networks. Topics covered
      try, Auto-calibration, Object                Master of Computer Science               include coding, compression, stream-
      recognition, Motion analysis,                Program                                  ing, synchronization, QoS, and
      Tracking, Perceptual user interfaces,                                                 adaptation. Current tools for multi-
      Face and gesture recognition, Active         CSP 527                                  media networking will be surveyed.
      vision. Prerequisite: CS 512. (3-0-3)        Client-Server Applications               Issues with multimedia application
                                                   Development                              development will be explored.
      CS 630                                       Through hands-on experience in           Students will design and develop
      Advanced Topics in Algorithms                developing a client-server database      multimedia applications.
      Theoretical analysis of various types        project and developing and managing      Prerequisites: CS 455 and experience
      of algorithms. Topics vary, and may          a client-server Internet project, this   programming in high-level lan-
      include quantum, approximation, on-          course teaches advanced skills for       guages. (3-0-3)
      line, distributed, randomized, and           effective design and implementation
      parallel algorithms. Prerequisite: CS        of client-server applications.
      430 and consent of instructor. (3-0-3)       Students will examine the architec-
                                                   tural and functionality decisions,
                                                   technologies, configurations, lan-
                                                   guages, and techniques associated




182                                       IIT Graduate Bulletin 2008–2010
                                                                                        Department of Computer Science
      CSP 544                                  CSP 581                                       Fundamental Prerequisite
      System and Network Security              Applied AI Programming                        Courses in Computer Science
      This course will present an in-depth     To learn AI programming algorithms
      examination of topics in data and        and techniques in Common Lisp.                Students whose background in
      network security, such as: Access        Time is split between Common Lisp             computer science is deficient are
      control, authentication, security        topics and discussions of implemen-           required to take the following
      assessment, network and data secu-       tation strategies for AI algorithms.          courses and earn a grade “B” or
      rity tools, and security policies. A     Prerequisite: CS 440 or equivalent.           better. The credits for these courses
      significant hands-on component           (3-0-3)                                       may not be used for any degree
      includes network incidents to detect                                                   program in computer science,
      and fix. Prerequisites: CS 430, CS       CSP 585                                       computer information systems or
      455. (3-0-3)                             Object-Oriented Design Patterns               computer engineering.
                                               This course introduces the principles
      CSP 545                                  of design patterns for Object-                CS 401
      Wireless Networking Technologies         Oriented software systems. A catalog          Introduction to Advanced Studies I
      and Applications                         of design patterns is shown, to illus-        First course in a two-course sequence
      This course will present the founda-     trate the roles of patterns in                that is designed to prepare students
      tion of wireless technologies and        designing and contracting complex             for graduate study in computer sci-
      examine state-of-the-art wireless sys-   software systems. The catalog of              ence. The course covers advanced
      tems, services, network technologies,    design patterns also provides a prag-         programming concepts including
      and security. Prerequisites: CS 542.     matic reference to a well-engineered          pointers, recursion and inheritance,
      (3-0-3)                                  set of existing patterns currently in         as well as data structures and
                                               use. Also discussed is the impact of          algorithms including linked lists,
      CSP 550                                  post-object-oriented software devel-          stacks, queues, heaps, graphs, and
      Internet Programming                     opment on design patterns.                    sorting techniques. Prerequisite: CS
      This course discusses current funda-     Prerequisite: CS 445. (3-0-3)                 201 or equivalent. (3-0-3)
      mental concepts and development
      techniques for distributed applica-      CSP 586                                       CS 402
      tions. Topics covered include            Software Modeling and                         Introduction to Advanced Studies II
      multithreaded programs, sockets,         Development with UML                          Second course in a two-course
      message-passing systems, remote          Students will obtain a significant            sequence that is designed to prepare
      method invocation and procedure          exposure to the UML technology.               students for graduate study in com-
      calls, peer-to-peer networks, and        This will include exposure to model-          puter science. The course consists of
      underlying technologies for internet     ing, model-driven development,                two parts. The first part introduces
      applications. Prerequisite: CS 455.      executable models, and round-trip             the students to computer organiza-
      (3-0-3)                                  engineering. These technologies will          tion and architecture, numbering
                                               be explained at the application level.        systems, logical operations and fun-
      CSP 551                                  Prerequisite: CS 487 or CS 445. (3-0-3)       damentals of assembly language
      Advanced UNIX Programming                                                              programming. The second part of the
      This course provides students a          CSP 587                                       course is devoted to event driven pro-
      hands-on introduction to UNIX pro-       Software Quality Management                   gramming concepts using Java as the
      gramming topics such as standard         Students will learn methods of soft-          programming tool. Multithreading
      application programmer interfaces,       ware quality management. This will            programming concepts are also cov-
      concurrent programming, UNIX             include exposure to software quality          ered using Java. Prerequisite: CS
      processes and threads, shell pro-        assurance, quality measures, and              401 or consent of instructor.
      gramming, UNIX interprocess              quality control. These quality man-           (3-0-3)
      communications, client-server            agement methods will be explained
      designs, and application portability.    at the applications level.
      Prerequisites: C programming, CS         Prerequisite: CS 487 or equivalent.
      450 or equivalent, and user-level        (3-0-3)
      knowledge of UNIX. (3-0-3)
                                               CSP 595
                                               Topics in CSP




183                                                                 IIT Graduate Bulletin 2008–2010                                   183
      Department of Computer Science
      Undergraduate Courses
      Available to Graduate Students
      in Computer Science

      CS 411
      Computer Graphics

      CS 422
      Introduction to Data Mining

      CS 425
      Database Organization

      CS 429
      Introduction to Information
      Retrieval

      CS 430
      Introduction to Algorithms

      CS 440
      Programming Languages
      and Translators

      CS 441
      Current Topics
      in Programming Languages

      CS 445
      Object-Oriented Design
      and Programming

      CS 447
      Distributed Objects

      CS 450
      Introduction to Operating Systems

      CS 455
      Data Communications

      CS 458
      Information Security

      CS 470
      Computer Architecture I

      CS 471
      Design of Computer Processors

      CS 480
      Artificial Intelligence

      CS 485
      Computers and Society

      CS 487
      Software Engineering




184                                   IIT Graduate Bulletin 2008–2010

				
DOCUMENT INFO