cs cours structure

Upload: sushilpangarkar

Post on 03-Jun-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/11/2019 CS Cours Structure

    1/23

    Department of Computer Science

    Department of Computer Science

    Stuart Building10 W. 31st St.Chicago, IL 60616312.567.5150312.567.5067 faxwww.iit.edu/csl/[email protected]

    Chair:Xian-He Sun

    Associate Chair:Cynthia HoodBogdan Korel

    The study of computer science is the inquiry into thenature of computation and its use in solving problemsin an information-based society. Computer science isan evolving discipline, but it has a well-dened core of knowledge and a set of characteristic methodologies. Themethods and skills required of the computer scientist in-clude formalization and abstraction, algorithm design,programming, organization of unstructured knowledge,modeling, language development, and software systemarchitecture and design. The graduate program in com-puter science at IIT stresses high achievement in bothfundamental knowledge and practical problem solving.It offers the student a solid background in the core areasand exposure to cutting-edge computer technologies.

    Degrees OfferedMaster of Computer Science (MAS)Master of Computer Science with specialization in:

    Business Computational Intelligence Cyber-Physical Systems Data Analytics Database Systems Distributed and Cloud Computing Education Finance Information Security and Assurance Networking and Communications Software Engineering

    Master of Science in Computer ScienceDoctor of Philosophy in Computer Science

    With the Department of Applied Mathematics:Master of Data Science

    With the Department of Electrical andComputer Engineering:

    Master of Telecommunications and Software Engineering

    With the Department of Chemical andBiological Engineering:

    Master of Science in Computer Science/Master of Chemical Engineering

    Certicate ProgramsComputational IntelligenceCyber-Physical SystemsData AnalyticsDatabase SystemsDistributed and Cloud Computing

    Information Security and AssuranceNetworking and CommunicationsSoftware Engineering

    Research FacilitiesThe department has research computing facilities thatinclude several state of the at computer clusters andworkstations. The equipment includes a large-scaleSun ComputerFarm consisting of 172 processors and562 cores connected via a Linux-based IBM cluster, anOpteron cluster from Microsoft, and a Cray XD1 con-nected Management. An advanced technology AccessGrid node has been installed by the department, which

    allows researchers, teachers, and students at different lo-cations worldwide too interact via a network multime-dia environment. Research in Data-Intensive DistributedSystems is facilitated by a 12-node cluster with 118 cores,382 GB RAM, and 32TB of harddisk space. Researchlabs in the department have advanced computer work-stations with multicore servers.

    Research AreasAlgorithms, data structures, articial intelligence, com-puter architecture, computer graphics, computer net-working and telecommunications, computer vision,database systems, distribued and parallel processing, I/O

    systems, image processing, information retrieval, naturallanguage processing, software engineering, and systemsoftware, machine learning, cloud computing.

    IIT Graduate Bulletin 2012-2014 209

  • 8/11/2019 CS Cours Structure

    2/23

    Department of Computer Science

    FacultyAgam, Gady, Associate Professor. B.S., M.S., Ph.D.,Ben-Gurion University (Israel). Computer vision, com-puter graphics, image processing, pattern recognition,machine learning, geometric modeling, medical imaging,document imaging.

    Argamon, Shlomo, Associate Professor. B.S. Carnegie-Mellon University; M.S, Ph.D. Yale University. MachineLearning, computational linguistics, stylistics, informa-tion retrieval.

    Bauer, Charles, Professor Emeritus. B.S., M.Ed.,Loyola University. Computer Education, computersused in education, distance learning, computer-basededucational technology, computer learning, teachertraining.

    Bauer, Matthew J., Senior Lecturer, Director of Undergraduate Computer Science Programs, AssociateDean for Academic Affairs, College of Science andLetters, and Director of Undergraduate AcademicAdvising. B.S., M.S., Illinois Institute of Technology.

    Beckman, Jr., A. Mattox, Senior Lecturer. B.S., Ph.D.,University of Illinois, Urbana-Champaign.

    Bilgic, Mustafa, Assistant Professor. B.S., Universityof Texas; M.S., Ph.D., University of Maryland. Datamining, machine learning, probabilisic graphical models,statistical relational learning, active learning, socialnetwork analysis, information visualization.

    Burnstein, Ilene, Professor Emerita. B.S., BrooklynCollege; M.S., University of Maryland; Ph.D., Illi-

    nois Institute of Technology. Software engineering,knowledge-based testing and debugging tools, testprocess assessment and improvement models, capabilitymaturity models.

    Calinescu, Gruia, Associate Professor. M.S., Universityof Bucharest (Romania); Ph.D., Georgia Institute of Technology. Algorithms, approximation algorithms,optical and wireless, ad-hoc networks.

    Chlebus, Edward, Industry Associate Professor. M.S.,Ph.D., Cracow University (Poland). Network modeling,performance evaluation and tele-traffic analysis.

    Evens, Martha, Professor Emerita. A.B., Bryn MawrCollege; A.M., Radcliffe College; Ph.D., NorthwesternUniversity. Natural language processing, expert systemsand intelligent tutoring/information systems.

    Glavic, Boris, Assistant Professor. M.Sc., RWTHAachen University (Germany); Ph.D., University of Zurich (Switzerland).

    Greene, Peter, Professor Emeritus. A.B., AmherstCollege; Ph.D., University of Chicago. Neural networks,feeling-based reasoning, articial intelligence androbotics.

    Grossman, David, Adjunct Professor. B.S., ClemsonUniversity; M.S. American University; Ph.D., GeorgeMason University. Information retrieval, data mining,integration of structured data and text.

    Hanrath, Jon, Senior Instructor. Ph.D., Michigan StateUniversity.

    Hood, Cynthia, Associate Professor of Computer Scienceand Engineering and Associate Chair, Department of Computer Science. B.S., Rensselaer PolytechnicInstitute; M.S., Stevens Institute of Technology; Ph.D.,Rensselaer Polytechnic Institute. Network management,statistical signal processing, learning processing.

    Kapoor, Sanjiv, Professor. Ph.D., University of Illinois,Urbana-Champaign. Computational geometry, graphalgorithms, combinatorial optimization, graphics, datastructures.

    Korel, Bogdan, Associate Professor of Computer Scienceand Engineering and Associate Chair, Departmentof Computer Science. M.S., Technical University of Kiev (Ukraine); Ph.D., Oakland University. Softwareengineering, automated software testing and analysis.

    Koutsogiannakis, George, Instructor. B.S., M.S.,M.B.A., DePaul University; M.S. Illinois Institute of Technology.

    Lan, Zhiling, Associate Professor. B.S. Beijing NormalUniversity (China); M.S. Chinese Academy of Sciences;Ph.D., Northwestern University. Parallel and distributedcomputing, performance analysis and modeling.

    Leung, Wu-Hon F., Industry Professor. Ph.D.,University of California-Berkeley.

    Li, Xiang-Yang, Professor. B.E., Tsinghua University;M.S., Ph.D., University of Illinois, Urbana-Champaign.Algorithm design and analysis, system design for wirelessad hoc and sensor networks, network information theory,security protocols, and computational geometry.

    Raicu, Ioan, Assistant Professor. B.S., M.S., WayneState University; M.S., Ph.D., University of Chicago.Distributed Systems, high-throughput and high-performance computing, efficient task dispatch andexecution systems, resource provisioning, data manage-ment, scheduling, performance evaluations in distributedsystems.

    Reingold, Edward M., Professor. B.S., Illinois Instituteof Technology; M.S., Ph.D., Cornell University. Analysisof algorithms, data structures, combinatorial algorithms,mathematics, history, and computer implementation of calendars.

    210 IIT Graduate Bulletin 2012-2014

  • 8/11/2019 CS Cours Structure

    3/23

    Department of Computer Science

    Ren, Shangping, Associate Professor. Ph.D., Universityof Illinois, Urbana-Champaign. Domain speciccomputing (including distributed computing, real-time computing, and mobile computing), and domainspecic programming abstractions (such as languageabstractions for real-time systems, for context-aware

    adaptive mobile systems, and for coordination amongdistributed asynchronous entities).

    Roberson, Dennis A., Research Professor and ViceProvost for Corporate Relations and Strategic Initia-tives. B.S., Washington State University; M.S., StanfordUniversity.

    Saelee, Michael K., Senior Instructor. B.S., M.S., IllinoisInstitute of Technology.

    Sasaki, James T., Senior Lecturer and Director of theProfessional Masters Program. B.S., Illinois Institute of Technology; M.S., Ph.D., Cornell University.

    Soneru, Marius D., Senior Lecturer. Ph.D., IllinoisInstitute of Technology.

    Sun, Xian-He, Professor and Chair. Ph.D., MichiganState University. Distributed and parallel processing,software systems, I/O systems, peformance evaluation,scientic computing.

    Wan, Peng-Jun, Professor. B.S., Tsinghua University(China); Ph.D., University of Minnesota. Interconnec-tion design, routing and resource management in opticalnetworks, low-earth orbit satellite networks, wirelesslocal area networks.

    Winans, Vida J., Senior Instructor and GraduateCoordinator. B.A., Cornell University; M.S., IllinoisInstitute of Technology.

    Zhang-Sun, Hong, Research Professor. B.S., BeijingNormal University; M.S., Ph.D., Michigan StateUniversity.

    IIT Graduate Bulletin 2012-2014 211

  • 8/11/2019 CS Cours Structure

    4/23

    Department of Computer Science

    Admission RequirementsCumulative undergraduate GPA minimum: 3.0/4.0Cumulative Master of Science GPA minimum (for Ph.D.

    applicants): 3.5/4.0GRE minimum combined (quantitative/verbal/analytical)

    score for tests taken on or after Oct.1, 2011:

    M.S.: 298 (quantitative + verbal), 3.0 analytical writingM.A.S.: 292 (quantitative + verbal), 2.5 analytical

    writingPh.D.: 304 (quantitative + verbal), 3.5 analytical

    writing, with a minimum in the 70th percentile of thequantitative section

    GRE minimum score for tests taken on or afterAug.1, 2002:

    M.S.: 1000 (quantitative + verbal) 3.0 analytical writingMAS: 900 (quantitative + verbal) 2.5 analytical writingPh.D.: 1100 (quantitative + verbal) 3.5 analytical

    writing, with a minimum in the 70th percentile of thequantitative section

    TOEFL score (international students from non-Englishspeaking countries): 523/70*

    PTE score (international students from non-Englishspeaking countries): 47

    IELTS score (international students from non-Englishspeaking countries): 5.5

    Meeting the minimum GPA and test score requirementsdoes not guarantee admission. Test scores and GPA are just two of several important factors considered. Appli-cants to masters degree programs in computer scienceshould hold a bachelors degree in computer science witha minimum overall GPA of 3.0/4.0 or its equivalent. Forinternational students from non-English speaking coun-

    tries, a minimum TOEFL score of 523/70 is required.

    All applicants must submit scores from the GRE generaltest. (The GRE requirement is waived for applicantsto the Master of Computer Science program who holdbachelors degrees from accredited U.S. institutions witha minimum cumulative GPA of 3.0/4.0.) Applicants

    with bachelors degrees in other disciplines can be ad-mitted to Master of Science or Master of ComputerScience programs. However, students whose trainingdoes not include the equivalent of CS 201 (AcceleratedIntroduction to Computer Science), CS 330 (DiscreteStructures), CS 331 (Data Structures and Algorithms),CS 350 (Computer Organization and Assembly LanguageProgramming) and CS 351 (Systems Programming) willbe required to complete all of the courses in which adeciency exists. Some students may be able to com-plete their deciencies with the following six-credit hoursequence with grades of B or better.:

    CS 401 Introduction to Advanced Studies I

    CS 402 Introduction to Advanced Studies IIIn addition, students who have not had at least onecourse in calculus will be required to take a calculuscourse.

    Applicants to the Ph.D. program should hold an M.S.degree in computer science with a minimum GPA of 3.0/4.0 for their bachelors degree and 3.5/4.0 for theirM.S. degree, or a minimum GPA of 3.5/4.0 for theirbachelors degree if they apply without a M.S. degree. Fornon-English speaking applicants without a U.S. degree,a minimum TOEFL score of 523/70 is required.

    * Paper/internet-based test score.

    212 IIT Graduate Bulletin 2012-2014

  • 8/11/2019 CS Cours Structure

    5/23

    Department of Computer Science

    Master of Computer Science30 credits.

    This Professional Masters degree program consists of 30 credit hours of coursework in computer science. Thisprogram is designed for those without a prior degree in

    computer science, or those who are primarily interestedin a (non-thesis) program preparing them for careers asworking computer science professionals in business andindustry. A full-time student enrolled in the programshould be able to complete the requirements in 1 to 1.5years. Specializations in business, software engineering,networking and telecommunications and information sys-tems are available. Admission requirements include:

    Bachelors degree from an accredited university with aminimum cumulative GPA of at least 3.0/4.0. Combinedverbal and quantitative GRE examination score of atleast 900 and an analytic writing score of at least 2.5,for the post-October 2002 test. The GRE requirementis waived for students with a bachelors degree from anaccredited college or university in the United States witha cumulative GPA of at least 3.0/4.0.

    Prerequisites include knowledge of a high level program-ming language at the level of CS 201 (Java or C/C++programming is required). Students with insufficientbackground in computer science will be required to takeCS 401 and CS 402 (Introduction to Advanced StudiesI and II) and to earn at least a B in these courses.These prerequisite courses do not count toward the 30credithour requirement.

    A maximum of 12 credit hours of 400-level courses anda maximum of 6 credit hours of accelerated coursesare allowed as part of the 30 credit hours requirement.

    Twenty hours of coursework must be in CS or CSP (CSProfessional) courses at the 500 level.

    Students are required to take at least one course ineach of the three core areas (Programming, Systems,

    and Theory).

    Programming Core Courses

    CS 511 Topics in Computer GraphicsCS 512 Topics in Computer VisionCS 525 Advanced Database OrganizationCS 540 Syntactic Analysis of Programming LanguagesCS 541 Topics in Compiler ConstructionCS 546 Parallel and Distributed ProcessingCS 551 Operating System Design and ImplementationCS 553 Cloud Computing

    Systems Core Courses

    CS 542 Computer Networks I: FundamentalsCS 544 Computer Networks II: Network ServicesCS 547 Wireless NetworkingCS 550 Advanced Operating SystemsCS 555 Analytic Models and Simulation of Computer

    SystemsCS 570 Advanced Computer ArchitectureCS 586 Software Systems Architecture

    Theory Core Courses

    CS 530 Theory of ComputationCS 533 Computational GeometryCS 535 Design and Analysis of AlgorithmsCS 536 Science of ProgrammingCS 538 Combinatorial OrganizationCS 539 Game Theory: Algorithms and Applications

    Master of Science in Computer Science/Master of Chemical Engineering44 credit hours

    This combined program in computer science and chem-ical engineering addresses the growing need for processengineers with expertise in computational modeling andsimulation of chemical processes. Similarly, the programprovides strong engineering background that is required

    today in many areas of computer science. The program is jointly offered by the Department of Computer Scienceand the Department of Chemical and EnvironmentalEngineering. Students in this program earn both Masterof Science in Computer Science and Master of ChemicalEngineering degrees.

    Students must fulll the core course requirements of both departments. Students are required to take 18credit hours in graduate chemical engineering courses

    (courses numbered 500 or higher) and 26 credit hoursin computer science courses (of which 20 credit hoursmust be 500- level courses). The 18 credit hours inchemical engineering courses consist of 12 credits incore courses listed in the description of the Master of Chemical Engineering requirements and six credit hoursfrom the following courses:

    CHE 507 Computer-Aided DesignCHE 508 Process Design OptimizationCHE 528 Analysis and Simulation of Chemical

    ProcessingCHE 532 Process ModelingCHE 533 Statistical Analysis Of SystemsCHE 536 Computational Techniques in EngineeringCHE 560 Statistical Quality and Process Control

    IIT Graduate Bulletin 2012-2014 213

  • 8/11/2019 CS Cours Structure

    6/23

    Department of Computer Science

    Master of Computer Science with Specialization in Business33 credit hours

    This program is designed to help computer science pro-fessionals extend and deepen their technical and practicalknowledge of the eld while introducing themselves to

    core topics in modern business practices. To completethe program students must satisfy Master of ComputerScience requirements and also take three specializationcourses from the Stuart School of Business:

    Specialization Courses

    BUS 510 Building an Innovative & SustainableBusiness

    BUS 550 Business Analytics for CompetitiveAdvantage

    MBA 501 Accounting for Strategic Decision MakingMBA 502 Emerging Issues in the Global Business

    EnvironmentMBA 504 Spreadsheet ModelingMBA 506 Leading & Managing Knowledge-Intensive

    OrganizationsMBA 509 Financial Management in a Globalized

    WorldMBA 511 Creating, Communicating & Delivering

    Customer Value

    Note: Stuart School of Business tuition and fees applyto these courses. Applicants to the program are not

    required to take the GMAT.

    Master of Computer Science with Specialization in Computational Intelligence30 Credit Hours

    This program is intended for students who are interestedin ways in which computers may learn and adapt basedon data so as to solve complex problems in various areasof computer science.

    To qualify for the specialization in Computational Intelli-gence, students must satisfy general Master of ComputerScience requirements and are also required to select ourfo the following specialization courses.

    Specialization Courses

    CS 480 Articial Intelligence Planning & ControlCS 512 Topics in Computer VisionCS 522 Data MiningCS 583 Probabilistic Graphical ModelsCS 584 Machine LearningCS 585 Natural Language Processing

    With department approval, a course not on the list abovemay be substituted for one of the ve specializationcourses.

    Master of Computer Science with Specialization in Cyber-Physical Systems30 Credit Hours

    This program is intended for students who are interestedin leraning how to work with embedded controllers withintegrated sensors and networking abilities and t utilizethem for real-world applications.

    To qualify fo the specialization in Cyber-Physicalsystems, students must satisfy general Master of Computer Science requirements and are also required toselect four of the following specialization courses.

    Specialization CoursesCS 442 Mobile Applications DevelopmentCS 552 Distributed Real-Time SytemsCS 553 Cloud ComputingCS 555 Analytic Models and Simulation of Computer

    SystemsCS 556 Cyber-Physical Systems: Languages and

    Systems

    CS 557 Cyber-Physical Systems: Networking andAlgorithms

    214 IIT Graduate Bulletin 2012-2014

  • 8/11/2019 CS Cours Structure

    7/23

    Department of Computer Science

    Master of Computer Science with Specialization in Data Analytics30 Credit Hours

    Intelligent analysis of large amounts of data is a crucalcomponent in supporting business decisions. The Masterof Science with Specialization in Data Analytics is in-

    tended for students interested in learning how to discoverpatterns in large amounts of data in information systemsand how to use these to draw conclusions.

    To qualify for the specialization in Data Analytics,students must satisfy general Master of ComputerScience requirements and are also required to select fourof the follwing specialization courses.

    Specialization CoursesCS 422 Data MiningCS 522 Data MiningCS 554 Data-Intensive ComputingCS 583 Probabilistic Graphical ModelsCS 584 Machine LearningCS 585 Natural Language Processing

    Master of Computer Science with Specialization in Database Systems30 credit hours

    This program is designed to provide in-depth knowledgeof the principles of design and development of informa-tion systems. Students must satisfy Master of ComputerScience requirements and are also required to select fourspecialization courses. Note that CS 522, CS 525, andCS 529 also count as Programming core courses

    Specialization Courses

    CS 425 Database OrganizationCS 520 Data Integration, Warehousing, and Provenance

    CS 521 Object-Oriented Analysis and DesignCS 522 Data MiningCS 525 Advanced Database OrganizationCS 529 Information RetrievalCS 553 Cloud ComputingCS 554 Data-Intensive Computing

    Master of Computer Science with Specialization in Distributed and Cloud Computing30 Credit Hours

    The Master of Computer Science with a Specializationin Distributed and Cloud Computing is intended forstudents who are interested to learn abot distributedsystems and how they are aplied to real world problems,as well as how emerging cloud computing technologiescan be used to implement some of the worlds mostpopular services and applications.

    To qualify for the specialization in Distributed and CloudComputing, students must satisfy general Master of Computer Science requirements and are also required to

    select four of the following specialization courses. Below,CS 550 is also marked (Sys), because it also counts as aSystems core course.

    Specialization CoursesCS 451 Introduction to Parallel & Distributed

    ComputingCS 546 Parallel and Distributed ProcessingCS 550 Advanced Operating SystemsCS 552 Distributed Real-Time SystemsCS 553 Cloud ComputingCS 554 Data-Intensive ComputingCS 570 Advanced Computer Architecture

    Master of Computer Science with Specialization in Education33 Credit Hours

    The Master of Computer Science with a specialization inEducation is designed to enable Computer Science stu-dents to further their technical educationwhile openinga career path toward teaching computer science.

    Courses for the MCS/Education degree program aretaken from the Computer Science Department and theDepartment of Mathematics and Science Education(MSED). In addition to satisfying General MCS degreerequirements, the program of study must include 24

    credit hours of CS/CSP courses and the following 3MSED courses, which are the rst 3 required courses fora teaching certicate.

    MSED Required CoursesMSED 300 Instructional Methods/Strategies IMSED 500 Analysis of Classrooms II (Practicum and

    Seminar)MSED 554 Middle and Secondary level Science

    CurriculumORMSED 555 Middle and Secondary level Mathematics

    Curriculum

    IIT Graduate Bulletin 2012-2014 215

  • 8/11/2019 CS Cours Structure

    8/23

    Department of Computer Science

    Master of Computer Science with Specialization in Finance33 Credit Hours

    The Master of Computer Science with a specialization inFinance is designed to enable Computer Science studentsto further their technical education while opening a path

    toward a career in nance.

    Courses for the MCS/Finance degree program are takenfrom the Computer Science Department and the Depart-ment of Finance in the IIT Stuart School of Business. In

    addition to satisfying the General MCS Degree require-ments, the program of study must include 24 credit hoursof CS/CSP courses and the following 3 MSF courses (9credit hours).

    Finance Required CoursesMSF 504 Valuation and Portfolio ManagementMSF 505 Futures, Options, and OTC DerivativesMSF 506 Financial Statement Analysis

    Master of Computer Science with Specialization in Information Security and Assurance30 Credit Hours

    Information security, privacy, and information assuranceare of prime importance in modern computer systemswhere data cna be accessed from nearly everywhere.The Master of Compuer Science with Specilization inInformation Security and Assurance is intended for stu-dents interested in aspects of security and assurance inmodern e-commerce applications.

    To qualify for the specialization in Information Security

    and Assurance, students must satisfy general Master of Computer Science requirements and are also required toselect four of the following specialization courses:

    Specialization CoursesCS 458 Information SecurityCS 525 Advanced Database OrganizationCS 549 Cryptography and Network SecurityCS 595 Topics in Computer Science: Information

    Security, Privacy, and AssuranceCSP 544 System and Network Security

    Master of Computer Science with Specialization in Networking and Communications30 credit hours

    This program is designed to provide an in-depth knowl-edge of the theories and practices in computer networkingand telecommunications. Students must satisfy Masterof Computer Science requirements and are also requiredto select four specialization courses. Note that CS 542,CS 544, and CS 547 also count as Systems core courses.

    Specialization Courses

    CS 455 Data CommunicationsCS 542 Computer Networks I: FundamentalsCS 544 Computer Networks II: Network ServicesCS 547 Wireless Networking

    CS 548 Broadband NetworksCS 549 Cryptography and Network SecurityCS 555 Analytic Models and Simulation of Computer

    SystemsCS 557 Cyber-Physical Systems: Networking and

    Algorithms

    Master of Computer Science with Specialization in Software Engineering30 credit hours

    This program is designed to provide an in-depth knowl-edge of theory and practices in software engineering,including hands-on experience in software design,development and maintenance. Students must satisfyMaster of Computer Science requirements and are alsorequired to select four specialization courses. Note thatCS 536 and CS 586 also count as Theory and Systemscore courses respectively.

    Specialization Courses

    CS 487 Software Engineering ICS 521 Object-Oriented Analysis and DesignCS 536 Science of ProgrammingCS 537 Software MetricsCS 586 Software Systems ArchitecturesCS 587 Software Project ManagementCS 589 Software Testing and Analysis

    216 IIT Graduate Bulletin 2012-2014

  • 8/11/2019 CS Cours Structure

    9/23

    Department of Computer Science

    Master of Science in Computer Science32 credit hours

    The purpose of this program is to prepare studentsfor the Ph.D. program and/or a research/developmentcareer in the industry in the eld of computer science.

    Students have the option to pursue thesis research orproject under the guidance of a faculty advisor.

    Program Requirements

    All programs require a core curriculum of 12 credit hoursand 20 credit hours of elective courses, which may includea thesis or project. If a thesis or project is included in theprogram, the student, with a faculty advisor, developsa program of study that species the supportive andelective program and describes the thesis or project.The program of study must consist of at least 32 credithours, at least 20 of which must be 500-level computerscience courses. Up to six credits of accelerated coursesmay be applied to the degree. (Students should see thedenition of accelerated courses below.)

    A student may choose from three options to completethe degree:Option 1: Masters thesis: Coursework and up to ve

    hours of CS 591 for a total of 32 hours. Theresult is a masters thesis.

    Option 2: Masters project: coursework and up to vehours of CS 597 for a total of 32 hours. Theresult is a project that results in one of thefollowing:

    1. A high-quality paper submitted for pub-lication as an article or as a technical re-port.

    2. A high-quality piece of software. Thesoftware should be of distribution quality,but can be proprietary.

    Option 3: 32 credit hours of coursework. A studentmust complete 32 hours of regular courseworkincluding electives and core courses with aGPA of 3.0/4.0 or better.

    Students are required to take courses in three core areas:Programming, Systems, and Theory. The student is re-quired to take at least one course from the Programmingarea, at least one course from the Systems area, and atleast two courses from the Theory area. The list belowcontains the core course offerings in the M.S. program:

    Programming Core Courses

    CS 511 Topics in Computer GraphicsCS 512 Topics in Computer VisionCS 525 Advanced Database OrganizationCS 540 Syntactic Analysis of Programming LanguagesCS 541 Topics in Compiler Construction

    CS 546 Parallel and Distributed ProcessingCS 551 Operating System Design and ImplementationCS 553 Cloud Computing

    Systems Core Courses

    CS 542 Computer Networks I: FundamentalsCS 544 Computer Networks II: Network ServicesCS 547 Wireless NetworkingCS 550 Advanced Operating SystemsCS 555 Analytic Models and Simulation of Computer

    SystemsCS 570 Advanced Computer ArchitectureCS 586 Software Systems Architectures

    Theory Core Courses

    CS 530 Theory of ComputationCS 533 Computational GeometryCS 535 Design and Analysis of AlgorithmsCS 536 Science of ProgrammingCS 538 Combinatorial OptimizationCS 539 Game Theory: Algorithms and Applications

    IIT Graduate Bulletin 2012-2014 217

  • 8/11/2019 CS Cours Structure

    10/23

    Department of Computer Science

    Master of Data ScienceCollaborative Program with the Department of Applied Mathematics

    33 credit hours

    This Professional Masters degree program consists of 33 credit hours of coursework, including a practicum,in data science. The program is designed primarily forthose with previous degrees or experience in computerscience, statistics, mathematics, natural sciences, orbusiness, who are interested in preparing for a careeras a data science professional in business and industry.Enrolled full-time, the program can be completed in ayear, including one summer.

    Admission Requirements

    A Bachelors degree from an accredited university with aminimum cumulative GPA of at least 3.0/4.0. Combined

    verbal and quantitative GRE examination score of atleast 304 and an analytic writing score of at least 3.0,for the post-October 2002 test. The GRE requirementis waived for students with a bachelors degree from anaccredited college or university in the United States witha cumulative GPA of at least 3.0/4.0.

    Prerequisites include knowledge of a high level pro-gramming language at the level of CS 201 (Java orC/C++programming is required), a data structurescourse at the level of CS 331, experience with databaseprogramming at the level of CS 425, linear algebra atthe level of MATH 332, and probability and statistics atthe level of MATH 474. Information on these courses isavailable in this catalog.

    Students with insufficient background in computer sci-ence and/or mathematics will be required to take therelevant prerequisite courses and earn at least a B gradein each. These prerequisite courses do not count towardthe 33 credit hour requirement.

    Program Requirements

    Coursework includes 18 credit hours of required corecourses and 6 credit hours of CSP/MATH 572 DataScience Practicum. At least 9 credit hours must be takenof 500-level CS or CSP courses and 9 credit hours of 500-level MATH courses, not including the CSP/MATH 572Data Science Practicum. Students must also take onesemester of CSP/MATH 570 Data Science Seminar.

    Data Science Core Courses

    COM 523 Communicating Science

    CS 587 Software Project Management

    CS 584 Machine LearningORMATH 569 Statistical Learning

    CS 525 Advanced Database OrganizationORCS 554 Data-Intensive Computing

    MATH 564 Applied StatisticsMATH 571 Data Preparation and Analysis

    Data Science Electives

    Computational Fundamentals

    CS 535 Design and Analysis of AlgorithmsCS 546 Parallel and Distributed ProcessingCS 553 Cloud ComputingCS 589 Software Testing and Analysis

    Computer Science Applications

    CS 512 Topics in Computer Science

    CS 529 Information RetrievalCS 556 Cyber-Physical Systems: Languages and

    SystemsCS 557 Cyber-Physical Systems: Networking and

    AlgorithmsCS 583 Probabilistic Graphical ModelsCS 585 Natural Language Processing

    Mathematics, Probability, and Statistics

    MATH 532 Linear AlgebraMATH 540 ProbabilityMATH 542 Stochastic Processes

    MATH 565 Monte Carlo Methods in FinanceMATH 567 Advanced Design of ExperimentsMATH 574 Baysian Computational Statistics

    Mathematical and Scientic Computing

    MATH 577 Computational Mathematics IMATH 578 Computational Mathematics IIMATH 590 Meshfree MethodsBIOL 550 Bioinformatics and BiotechnologyPHYS 440 Computational Physics

    218 IIT Graduate Bulletin 2012-2014

  • 8/11/2019 CS Cours Structure

    11/23

    Department of Computer Science

    Master of Telecommunications and Software Engineering (M.T.S.E.)Collaborative Program with the Department of Electrical and Computer Engineering

    30 credit hours

    The Master of Telecommunications and Software Engi-neering (M.T.S.E.) is a course-only degree program thatprepares students for professional practice in telecommu-nications and information technologies. The program, jointly offered by the Electrical and Computer Engineer-ing (ECE) and Computer Science (CS) departments, canbe completed in one year of full-time study.

    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 undertakethe M.T.S.E. program. A student without adequatebackground in specic areas is required to demonstrateprociency in prerequisite courses; an abbreviated list is

    given below.

    Specic prociency courses will be detailed for eachstudent at the time of admission to the M.T.S.E. pro-gram. Prociency in a course may be demonstrated bycompleting the course with a grade of A or B, or byachieving a grade of A or B in a prociency examinationadministered by the ECE or the CS department. Stu-dents should contact the departmental advisor for moredetails on prerequisites and prociency requirements.

    Students interested in the M.T.S.E. degree whose B.S.degree is not in electrical engineering, computer engineer-ing, or computer science should contact the departmentaladvisor before applying.

    Computer Science PrerequisitesCS 201 Accelerated Introduction to Computer ScienceCS 401 Introduction to Advanced Studies

    Electrical and Computer Engineering PrerequisitesECE 211 Circuit Analysis IECE 213 Circuit Analysis IIECE 308 Signals and SystemsMATH 252 Introduction of Differential Equations

    Program RequirementThe M.T.S.E. is a professional masters degree requir-ing a minimum of 30 credit hours of advisor-approvedcoursework. The M.T.S.E program of studies must in-clude a minimum of 12 credit hours of ECE courseworkand a minimum of 12 credit hours of CS coursework.Four required courses and one elective course from eachof the three categories given below must appear on theM.T.S.E. program of studies.

    Required Courses

    CS 586 Software Systems Architecture

    CS 587 Software Project ManagementECE 513 Communication Engineering FundamentalsECE 541 Performance Evaluation of Computer

    Networks (can be substitued with ECE 542)Elective Categories

    I. Software Engineering

    CS 521 Object-Oriented Analysis and DesignCS 537 Software MetricsCS 589 Software Testing and Analysis

    II. Telecommunication Systems

    CS 544 Computer Networks II: Network ServicesCS 548 Broadband NetworksCS 555 Analytic Models and Simulation of Computer

    SystemsECE 545 Advanced Computer Networks

    III. Telecommunications

    ECE 504 Wireless Communication System DesignECE 515 Modern Digital CommunicationsECE 519 Coding for Reliable Communications

    The remaining nine credits of coursework may be takenfrom courses listed above, or other courses approved bythe M.T.S.E. advisor. Students with no background incommunications or software engineering should considerincluding in their programs of study:

    CS 450 Operating SystemsCS 455 Data CommunicationsCS 487 Software Engineering IECE 403 Digital and Data Communication Systems

    Other courses that students in this program typicallychoose from include:

    ECE 437 Digital Signal Processing IECE 511 Analysis of Random SignalsECE 514 Digital Communication PrinciplesCS 542 Computer Networks I: Fundamentals

    CS 588 Advanced Software Engineering DevelopmentWith advisor approval, the M.T.S.E. program can in-clude up to two credit hours of Masters Seminar (ECE595, ECE 596). It can also include up to four credits of accelerated courses.

    IIT Graduate Bulletin 2012-2014 219

  • 8/11/2019 CS Cours Structure

    12/23

    Department of Computer Science

    Doctor of Philosophy85 credit hours if without M.S. degree; 54 credit hours if with M.S. degree.Qualifying examComprehensive examDissertation and oral defense

    The Ph.D. is awarded in recognition of a signicantoriginal contribution to one of the elds of computerscience and a high level of mastery in several elds of computer science and a signicant original contribu-tion to one of those elds. Students work with facultymembers to develop programs to match individual in-

    terests. The goal is to develop computer scientists whocan take complex, undened problems and restructureand resolve them through imaginative application of their knowledge. Graduates typically go on to teachingand/or research positions in industry and universities.

    The degree normally requires three to four years beyondthe masters degree for full-time students. Part-timestudents can also enter the program but will need moretime to complete the degree. Generally, students canenter the program with either a B.S. degree or an M.S.degree in related elds. The requirements of the Ph.D.program are described separately as follows.

    Requirements for Students Entering With a B.S. Degree85 credit hoursQualifying examComprehensive examDissertation and oral defense

    Admission RequirementsThe Ph.D. (post B.S.) program (called the direct Ph.D.program) encourages bright and highly motivated stu-dents to participate in a research program immediatelyafter the B.S. degree.

    The applicants should have a B.S degree in computerscience. Admission to the program is competitive anddepends on a students GRE score and it is expectedthat applicants will have a high grade-point average. For

    non-English speaking applicants without a U.S. degree, aminimum TOEFL score of 550 is required. If the TOEFLscore is less than 600, the applicant is required to takethe English Prociency Exam administered by the IITHumanities Department. Applicants must submit threeletters of recommendation.

    Requirements for Students Entering With an M.S. Degree54 credit hoursQualifying examComprehensive examDissertation and oral defense

    Admission RequirementsThe applicants should have an M.S degree in computerscience or related elds. Admission to the program iscompetitive and depends on a students GRE score and itis expected that applicants will have a high grade-pointaverage. For non-English speaking applicants withouta U.S. degree, a minimum score of 70 on the internet

    based TOEFL or 523 on the paper based TOEFL; or47 on the PTE; or 5.5 on the IELTS is required foradmission consideration. Applicants must submit threeletters of recommendation.

    220 IIT Graduate Bulletin 2012-2014

  • 8/11/2019 CS Cours Structure

    13/23

    Department of Computer Science

    Doctor of Philosophy - continued

    Program Requirements (for students with a B.S. degree)The program requires students to complete at least 85and at most 128 advisor-approved semester credit hoursof study. This must include

    - 0-12 credits of 400-level courses- 36-54 credits of 500- and 600- level courses. Among

    them, at most 6 credits come from outside theComputer Science Department of IIT. Creditsfrom CS 595 are allowed.

    - 6-12 credits of CS 597 (Reading and Special Prob-lems)

    - 24-48 credits of CS 691 (Research/Thesis for Ph.D.degree). Note CS 691 can only be taken after pass-ing the Ph.D. qualifying exam.

    - 1 credit of Ph.D. seminarNotice that no credits will be given to accelerated courses(700-level courses). No credits are given to courses inwhich the student earns a grade of C or below. Thestudent may have to take some other courses as requiredby the advisor. The credit hours of 500-level courseworkmust include ve core courses with at least one each fromGroups I-III described below and at least one course fromeach of two different groups from among Groups IV-VII.Advanced courses may be substituted after approval of the department. The groups of core courses are:

    Group I: Theory of ComputationCS 530 Theory of ComputationCS 533 Computational GeometryCS 535 Design and Analysis of AlgorithmsCS 538 Combinatorial OptimizationCS 539 Game Theory: Algorithms and ApplicationsGroup II: SystemsCS 546 Parallel and Distrubuted ProcessingCS 550 Advanced Operating SystemsCS 570 Advanced Computer ArchitectureGroup III: Programming LanguagesCS 536 Science of ProgrammingCS 540 Syntactic Analysis of Programming LanguagesCS 541 Topics in Compiler ConstructionCS 545 Distributed Computing LandscapeGroup IV: NetworksCS 542 Computer Networks I: FundamentalsCS 544 Computer Networks II: Network ServicesGroup V: DatabasesCS 525 Advanced Database OrganizationGroup VI: Software EngineeringCS 586 Software Systems ArchitecturesGroup VII: Computational IntelligenceCS 512 Topics in Computer VisionCS 583 Probabilistic Graphical Models

    CS 584 Machine LearningCS 585 Natural Language Processing

    M.S. Exit from ProgramStudents wishing to leave the direct Ph.D. programwith the degree of Master of Science in Computer

    Science must satisfy all the requirements of the Mastersdegree and either write an M.S. thesis or pass the Ph.D.qualifying examination.

    Ph.D. Qualifying ExaminationThe Ph.D. Qualifying Exam has two parts: a writtenexamination and an oral examination. The writtenexamination is used to judge a students breadth of knowledge; the oral examination is used to judge astudents research potential. The rst attempt in oralexamination and the written examination must be takenno later than a students 5th semester. The secondattempt must be taken no later than a students 6thsemester. These requirements hold for both full-time

    and part-time students The written examination isdivided into three, independent area examinations.To pass the written examination, a student must passall the area examinations.

    Area examinations can be taken in the same or differentsemesters. A student who fails an area examination canretake the area examination, but only once. Passinga relevant core course with A when registered inthe PhD section of hat course qualies as passing therespective area examination. See the computer sciencewebpage for more detail of qualifying examinations.

    Comprehensive (Research Proposal) ExaminationThe purpose of the Comprehensive Examination isto ensure that the candidate has the background tocarry out successful research in the chosen area andthat the research problem is properly formulated andhas sufficient scholarly merit. The student (in concertwith the students research advisor) must develop awritten research proposal containing a literature review,a proposed research topic, and a program of researchbased upon this topic, and then present the proposalorally as well.

    The student must request appointment of an examinationcommittee using Form 301. The examination committee

    may consist of from four to seven members. It mustinclude at least three full-time faculty members from theComputer Science Department and one full-time facultymember from another department in the universityOther committee members from inside or outside theuniversity may be chosen. The student should consultwith his/her research advisor concerning the makeup of the committee.

    Thesis DefenseEach student must present an oral defense of his/herPh.D. Thesis. The Thesis Review Committee is ap-pointed in much the same way as the Ph.D. Comprehen-sive Examination Committee. It will examine the written

    thesis and examine the student during the oral defense.All Ph.D. Thesis Defenses are open to the public.

    IIT Graduate Bulletin 2012-2014 221

  • 8/11/2019 CS Cours Structure

    14/23

    Department of Computer Science

    Doctor of Philosophy - continued

    Program Requirements (for students with an M.S. degree)If the student has an M.S. degree in computer science,the program requires the student to complete at least 54advisor-approved semester credit hours of study. This

    must include- 0-12 credits of 400-level courses- 18-30 credits of 500- and 600-level courses.

    Amongst them, at most 6 credits come from out-side the computer science department. Creditsfrom CS 595 are allowed.

    - 3-12 credits of CS 597 (Reading and Special Prob-lems)

    - 24-48 credits of CS 691 (Research/Thesis for Ph.D.degree). Note CS 691 can only be taken after pass-ing the Ph.D. qualifying exam.

    - 1 credit of Ph.D. seminarNotice that no credits will be given to accelerated courses(700-level courses). No credits are given to courses inwhich the student earns a grade of C or below. Thestudent may have to take some other courses as requiredby the advisor. The credit hours of 500-level courseworkmust include three core courses with at least one eachfrom Groups I-III described before. Advanced coursesmay be substituted after approval of the department.

    If the student has an M.S. degree in a eld other thancomputer science, the program requires the student tocomplete at least 60 advisor-approved semester credithours of study. This must include:

    - 0-12 credits of 400-level courses- 24-30 credits of 500- and 600-level courses. Among

    them, at most 6 credits may come from outside thecomputer science department. Credits from CS595are allowed.

    - 3-12 credits of CS 597 (Reading and Special Prob-lems)

    - 24-48 credits of CS 691 (Research/Thesis for thePh.D. degree). Note CS 691 can only be takenafter passing the Ph.D. qualifying exam.

    - 1 credit for CS 695 (the Ph.D. seminar)Notice that no credits will be given to acceleratedcourses (700-level courses). No credits are given tocourses in which the student earns a grade of C or below.The student may have to take some other courses asrequired by the advisor. The credit hours of 500-levelcoursework must include ve core courses with at leastone each from Groups I-III described before and atleast two courses from two different groups from amongGroups IV-VII. Advanced courses may be substitutedafter approval of the department.

    Ph.D. Qualifying ExaminationThe Ph.D. Qualifying Examination has two parts: awritten examination and an oral examination. The

    written exam is used to judge a students breadth of knowledge; the oral exam is used to judge a studentsresearch potential. The rst attempt at the oral exam-ination and the written examination must be made nolater than a students 3rd semester. The second attemptmust be made no later than a students 4th semester.These requirements hold for both full-time and part-timestudents.

    The written examination is divided into three, indepen-dent area examinations. To pass the written exami-nation, a student must pass all the area examinations.Area examinations can be taken in the same or differentsemesters. A student who fails an area examination canretake the area examination, but only once. Passing arelevant core course with A when registered in the PhDsection of hat course qualies as passing the respectivearea examination. See the computer science web pagefor more details about the qualifying examinations.

    Comprehensive (Research Proposal) ExaminationThe purpose of the Comprehensive Examination is toensure that the candidate has the background to carryout successful research in the chosen area and that theresearch problem is properly formulated and has suf-cient scholarly merit. The student (in concert withthe students research advisor) must develop a written

    research proposal containing a literature review, a pro-posed research topic, and a program of research basedupon this topic, and then present it orally as well.

    The student must request appointment of an examinationcommittee on Form 301. The examination committeemay consist of from four to seven members. It mustinclude at least three full-time faculty members fromthe Computer Science Department and one full-time fac-ulty member from another department in the university.Other committee members from inside or outside theuniversity may be chosen. The student should consultwith his/her research advisor concerning the makeup of the committee.

    Thesis DefenseEach student must present an oral defense of his/herPh.D. Thesis. The Thesis Review Committee is ap-pointed in much the same way as the Ph.D. Comprehen-sive Examination Committee. It will examine the writtenthesis and examine the student during the oral defense.All Ph.D. Thesis Defenses are open to the public.

    222 IIT Graduate Bulletin 2012-2014

  • 8/11/2019 CS Cours Structure

    15/23

    Department of Computer Science

    Certicate ProgramsCerticate programs offer working professionals an op-portunity to increase their knowledge and skills in thespecic areas of computer science. A certicate repre-senting proven academic performance is presented afterthe required coursework is completed with a GPA of

    3.0/4.0. Courses taken may be later applied toward anM.S. degree program. Applicants should have a bache-lors degree from an accredited college or university. Thedegree need not be in computer science.

    Computational Intelligence CerticateNine hours from the following:

    CS 480 Articial Intelligence Planning & ControlCS 512 Topics in Computer VisionCS 522 Data MiningCS 583 Probabilistic Graphical ModelsCS 584 Machine LearningCS 585 Natural Language Processing

    Cyber-Physical Systems Certicate

    Nine hours from the following:CS 442 Mobile Applications DevelopmentCS 552 Distributed Real-Time SystemsCS 553 Cloud ComputingCS 555 Analytic Models and Simulation of Computer

    SystemsCS 556 Cyber-Physical Systems: Languages and

    SystemsCS 557 Cyber-Physical Systems: Networking and

    Algorithms

    Data Analytics CerticateNine hours from the following:

    CS 422 Data MiningCS 522 Data MiningCS 554 Data-Intensive ComputingCS 583 Probabilistic Graphical ModelsCS 584 Machine LearningCS 585 Natural Language Processing

    Database Systems CerticateNine hours from the following:

    CS 425 Database OrganizationCS 520 Data Integration, Warehousing, and Provenance

    CS 521 Object-Oriented Analysis and DesignCS 522 Data MiningCS 525 Advanced Database OrganizationCS 529 Information RetrievalCS 553 Cloud ComputingCS 554 Data-Intensive Computing

    IIT Graduate Bulletin 2012-2014 223

  • 8/11/2019 CS Cours Structure

    16/23

    Department of Computer Science

    Distributed and Cloud Computing CerticateNine hours from the following:

    CS 451 Introduction to Parallel & DistributedComputing

    CS 546 Parallel and Distributed Processing

    CS 550 Advanced Operating SystemsCS 552 Distributed Real-Time SystemsCS 553 Cloud ComputingCS 554 Data-Intensive ComputingCS 570 Advanced Computer Architecture

    Information Security and Assurance CerticateNine hours from the following:

    CS 458 Information SecurityCS 525 Advanced Database OrganizationCS 549 Cryptography and Network SecurityCS 595 Topics in Computer Science: Information

    Security, Privacy, and AssuranceCSP 544 System and Network Security

    Networking and Communications CerticateNine hours from the following:

    CS 455 Data CommunicationsCS 542 Computer Networks I: FundamentalsCS 544 Computer Networks II: Network ServicesCS 547 Wireless NetworkingCS 548 Broadband NetworksCS 549 Cryptography and Network SecurityCS 555 Analytic Models and Simulation of Computer

    SystemsCS 557 Cyber-Physical Systems: Networking andAlgorithms

    Software Engineering CerticateNine hours from the following:CS 487 Software Engineering ICS 521 Object-Oriented Analysis and DesignCS 536 Science of Programming

    CS 537 Software MetricsCS 586 Software Systems ArchitecturesCS 587 Software Project ManagementCS 589 Software Testing and Analysis

    Accelerated ProgramsThe department offers accelerated courses for credit inseveral areas of computer science. These courses go be-yond traditional core topics and are designed for work-ing professionals who are interested in keeping abreast of rapidly changing technologies. Accelerated courses pro-

    vide an opportunity for degree-seeking students at IITto complete M.S. degree requirements in a shorter timeperiod. If taken by non-degree students, these coursescan be applied towards requirements for an M.S. degreeat IIT.

    224 IIT Graduate Bulletin 2012-2014

  • 8/11/2019 CS Cours Structure

    17/23

    Department of Computer Science

    Course DescriptionsCS 511Topics in Computer GraphicsCovers advanced topics in computer graphics. The exactcourse contents may change based on recent advances in thearea and the instructor teaching it. Possible topics include:Geometric modeling, Subdivision surfaces, Proceduralmodeling, Warping and morphing, Model reconstruction,Image based rendering, Lighting and appearance, Texturing,Natural phenomena, Nonphotorealistic rendering Particlesystems, Character animation, Physically based modelingand animation.Prerequisite(s): [(CS 411)](3-0-3)

    CS 512Topics in Computer VisionIntroduction to fundamental topics in computer vision andthe application of statistical estimation techniques to thisarea. Intended to give the student a good basis for workin this important eld. Topics include: Feature extraction,Probabilistic modeling, Camera calibration, Epipolargeometry, Statistical estimation, Model reconstruction,Statistical ltering, Motion estimation, Recognition, Shapefrom single image cues.Prerequisite(s): [(CS 430)](3-0-3)

    CS 520Data Integration, Warehousing, & ProvenanceThis course introduces the basic concepts of data integration,data warehousing, and provenance. We will learn how to re-solve structural heterogeneity through schema matching andmapping. The course introduces techniques for querying sev-eral heterogeneous datasources at once (data integration) andtranslating data between databases with different data repre-sentations (data exchange). Furthermore, we will cover thedata-warehouse paradigm including the Extract-Transform-Load (ETL) process, the data cube model and its relationalrepresentations (such as snowake and star schema), and effi-cient processing of analytical queries. This will be contrastedwith Big Data analytics approaches that (besides other dif-ferences) signicantly reduce the upfront cost of analytics.When feeding data through complex processing pipelines suchas data exchange transformations or ETL workows, it is easyto lose track of the origin of data. Therefore, in the lastpart of the course we cover techniques for representing andkeeping track of the origin and creation process of data (itsprovenance).The course emphasizespractical skills through a series of homework assignments that help students develop a strongbackground in data integration systems and techniques. Atthe same time, it also addresses the underlying formalisms.For example, we will discuss the logic based languages

    used for schema mapping and the dimensional data modelas well as their practical application (e.g., developing anETL workow with rapid miner and creating a mappingbetween two example schemata). The literature reviews willfamiliarize students with data integration and provenanceresearch.Prerequisite(s): [(CS 425)](3-0-3)

    CS 521Object-Oriented Analysis & DesignThis course describes a methodology that covers a wide rangeof software engineering techniques used in system analysis,modeling and design. These techniques integrate wellwith software process management techniques and providea framework for software engineers to collaborate in thedesign and development process. The methodology featuresthe integration of concepts, including software reusability,frame works, design patterns, software architecture, softwarecomponent design, use-case analysis, event-ow analysis,event-message analysis, behavioral-life cycle analysis, feature,multiple-product, risk and rule analysis, and automatic codegeneration. (Credit will not be given for CS 521 if CS751 istaken)Prerequisite(s): [(CS 445) OR (CS 487)](3-0-3)

    CS 522Data MiningContinued exploration of data mining algorithms. Moresophisticated algorithms such as support vector machines willbe studied in detail. Students will continuously study newcontributions to the eld. A large project will be requiredthat encourages students to push the limits of existing datamining techniques.Prerequisite(s): [(CS 422)](3-0-3)

    CS 525Advanced Database OrganizationComprehensive coverage of the problems involved in databasesystem implementation and an in-depth examination of contemporary structures and techniques used in moderndatabase management systems. Teaches advanced skillsappropriate for DBMS architects and developers , databasespecialist, and the designers and developers of client/serverand distributed systems. Focus is on transaction management,database structures and distributed processing.Prerequisite(s): [(CS 425)](3-0-3)

    CS 529Information RetrievalThe course covers the advanced topics in InformationRetrieval. The topics such as Summarization, cross-lingual,Meta-Search, Question Answering, Parallel and distributedIR systems are discussed. The students get involved inresearch ideas, and get involved in individual and groupprojects.Prerequisite(s): [(CS 429)](3-0-3)

    CS 530

    Theory of ComputationComputability topics such as Turing machines, nonde-terministic machines, undecidability, and reducibility.Computational complexity topics such as time complexity,NP-completeness and intractability, time and space hierarchytheorems. Introduces the complexity classes P, NP, NL, L,PSPACE, NC, RNC, BPP and their complete problems.Prerequisite(s): [(CS 430)](3-0-3)

    CS 531Topics in Automata TheoryTopics selected from mathematical systems and automatatheory, decision problems, realization and minimization,algebraic decomposition theory and machines in a category.Prerequisite(s): [(CS 430)]

    (3-0-3)

    IIT Graduate Bulletin 2012-2014 225

  • 8/11/2019 CS Cours Structure

    18/23

  • 8/11/2019 CS Cours Structure

    19/23

    Department of Computer Science

    CS 547Wireless NetworkingThis course introduces cellular/PCS systems, short-rangemobile wireless systems, xed wireless systems, satellites, andad hoc wireless systems. It explains in detail the underlyingtechnology as well as regulations, politics, and business of these wireless communications systems. It looks beyond

    the hype, examining just what is and is not possible withpresent-day and future wireless systems. As an advancedgraduate course, it will combine extensive reading andin-class discussion of the research literature with in-depthindependent research projects of students own choosing.Prerequisite(s): [(CS 455)](3-0-3)

    CS 548Broadband NetworksThe course studies the architectures, interfaces, protocols,technologies, products and services for broadband (high-speed) multimedia networks. The key principles of theprotocols and technologies used for representative networkelements and types of broadband network are studied. Specif-ically, cable modems, Digital Subscriber Lines, Power Lines,

    wireless 802.16 (WiMax), and broadband cellular Internetare covered for broadband access; for broadband Local AreaNetworks (LANs), Gigabit Ethernet, Virtual LANs andwireless LANs (802.11 WiFi and Bluetooth) are discussed; forbroadband Wide Area Networks (WANs) the topics coveredinclude optical networks (SONET/SDH,DWDM, opticalnetwork nodes, optical network nodes, optical switchingtechnologies), frame-relay, ATM, wire-speed routers, IPswitching, and MPLS. Also, quality of service issues inbroadband networks and a view of the convergence of technologies in broadband networks are covered.Prerequisite(s): [(CS 455)](3-0-3)

    CS 549Cryptography & Network Security

    This course provides an introduction to the theory andpractice of cryptography and network security. Thecourse covers conventional encryption such as classicalencryption techniques, modern encryption techniques andencryption algorithms. Students are introduced to thebasic number theory, which is used as the foundation forpublic-key encryption. The public-key cryptography suchas encryption methods and digital signatures is covered.Message authentication and hash functions are also discussed.Students will learn techniques of key management, secretsharing and conducting interactive proofs. In addition, thepractical network and security protocols are discussed.Prerequisite(s): [(CS 430)](3-0-3)

    CS 550

    Advanced Operating SystemsAdvanced operating system design concepts such as interpro-cess communication, distributed processing, replication andconsistency, fault tolerance, synchronization, le systems.Study of systems highlighting these concepts.Prerequisite(s): [(CS 450)](3-0-3)

    CS 551Operating System Design & ImplementationThis course covers in detail the design and implementation of processes, interprocess communication, semaphores, monitors,message passing, scheduling algorithm, input/output, devicedrivers, memory management, le system design, security andprotection mechanisms. The hardware-software interface and

    the user process-system call-kernel interface are examined indetail. Students modify and extend a multiuser operatingsystem.Prerequisite(s): [(CS 450)](3-0-3)

    CS 552Distributed Real-Time SystemsWith the advancement of computer hardware, embeddeddevices, and network technology, real-time applicationshave become pervasive, ranging from smart automobiles toautomated traffic control. Different from general-purposeapplications, correct executions of real-time applicationsdepend on both functional correctness and temporalcorrectness. This course is to study the fundamentalsof distributed real-time computing with the focus on its

    temporal aspects.Prerequisite(s): [(CS 450)](3-0-3)

    CS 553Cloud ComputingThis course is a tour through various topics and technologiesrelated to cloud computing. Students will explore solutionsand learn design principles for building large network-basedsystems to support both compute-intensive and data-intensiveapplications across geographically distributed infrastructure.Topics include resource management, programming models,application models, system characterizations, and implemen-tations. Discussions will often be grounded in the contextof deployed cloud computing systems such as Amazon EC2and S3, Microsoft Azure, Google AppEngine, Eucalyptus,

    Nimbus, OpenStack, Googles MapReduce, Yahoos Hadoop,Microsofts Dryad, Sphere/Sector, and many other systems.The course involves lectures, outside invited speakers,discussions of research papers, programming assignments,and a major project (including both a written report and anoral presentation).Prerequisite(s): [(CS 450) OR (CS 455)](3-0-3)

    CS 554Data-Intensive ComputingThis course is a tour through various research topics indistributed data-intensive computing, covering topics incluster computing, grid computing, supercomputing, andcloud computing. The course will explore solutions andlearn design principles for building large network-based

    computational systems to support data-intensive computing.This course is geared for junior/senior-level undergraduatesand graduate students in computer science.Prerequisite(s): [(CS 450)](3-0-3)

    CS 555Analytic Models & Simulation of Computer SystemsAnalytic and simulation techniques for the performanceanalysis of computer architecture, operating systems andcommunication networks. Rigorous development of queuingmodels. Study of simulation languages and models.Prerequisite(s): [(CS 450)](3-0-3)

    IIT Graduate Bulletin 2012-2014 227

  • 8/11/2019 CS Cours Structure

    20/23

    Department of Computer Science

    CS 556Cyber-Physical Systems: Languages & SystemsDifferent from general-purpose and traditional computerapplications, cyber-physical systems have both continuousand discrete components, hence requiring new methodologiesto integrate traditional continuous control theory/systemswith traditional discrete software systems. The focus of

    this course is to discuss and understand the challenges inemerging cyber-physical systems and to explore possiblesolutions from the perspectives of systems specication,system modeling, programming languages, systems designs,and software engineering. This course will focus on thelanguages and systems aspects of cyber-physical systems.(3-0-3)

    CS 557Cyber-Physical Systems: Networking & AlgorithmsThe goal of the course is to provide students with the necessaryfoundations to apply wireless sensor networking, schedulingtheory, and algorithms in the eld of computer science. Thefocus is to discuss and understand the challenges in emergingcyber-physical systems, open distributed real-time systems,and wireless sensor networks. The course will examine

    different perspectives of wireless networks such as variousMAC protocols, routing protocols, scheduling protocols,localization, clock synchronization, data aggregation anddata fusion, compressive and cooperative sensing, security,fault detection and diagnosis, online program, and networkedcontrol systems. The course will also examine the interactionof different systems.(3-0-3)

    CS 560Computer Science in the ClassroomEmphasis on how to organize a selected computer sciencecourse. Discussion of what to teach, the problems typicallyencountered in teaching, and how to best organize theconcepts in a computer science course.(3-0-3)

    CS 561The Computer & Curriculum ContentPresentation techniques from white board to web-basedinstructional units using currently available software.Emphasis on incorporating the computer as a teaching tool inthe presentation of class material. Single Concept LearningModules (SCLM) are developed.(3-0-3)

    CS 565Computer Assisted InstructionHardware and software for the effective use of the computer inan educational environment, CAI (Computer-Assisted/AidedInstruction) being one of the major areas of investigation .Prerequisite(s): [(CS 560) OR (CS 561)](3-0-3)

    CS 566Practicum in the Application of Computers to EducationProvides supervised experience in the development of computer-based teaching units. Evaluation of differenttheoretical and/or technical approaches to the use of computer in the classroom.Prerequisite(s): [(CS 560 and CS 561)](1-4-3)

    CS 570Advanced Computer ArchitectureComputer system design and architecture such as pipeliningand instruction-level parallelism, memory-hierarchy system,interconnection networks, multicore and multiprocessors, andstorage architecture. Selected study on current experimentalcomputer systems.

    Prerequisite(s): [(CS 450 and CS 470)](3-0-3)

    CS 572Advanced Topics in Computer ArchitectureCurrent problems in computer architecture.Prerequisite(s): [(CS 570)](3-0-3)

    CS 580Topics in Machine LearningThis course covers advanced topics in machine learning. Theexact course contents may change based on recent advances inthe area and the instructor teaching it. Possible topics includeactive learning, reinforcement learning, online learning, non-parametric learning, inductive learning, statistical relationallearning, dimensionality reduction, ensemble methods,transfer learning, outlier detection, specic application areasof machine learning, and other relevant and/or emergingtopics.(3-0-3)

    CS 581Topics in Articial IntelligenceCovers various advanced topics in AI, including both theoryand practice. Content may vary by instructor. Possible topicsinclude: Planning: STRIPs planning; Partial-order planning;Situation calculus; Theorem proving; GraphPlan/SatPlan;Transformational planning; Simulated annealing; Motionplanning; Case-based reasoning; Multi-agent coordination;Negotiation planning; Representation and Reasoning: Logicalrepresentation; Frame problem; Probabilistic reasoning;Bayesian networks; Game Playing: Minimax search;Evaluation functions; Learning evaluation functions; MarkovDecision Processes; Reinforcement learning for games;Developing AI agents; Multi-agent planning.Prerequisite(s): [(CS 480)](3-0-3)

    CS 582Computational RoboticsCovers basic algorithms and techniques used in Com-putational Robotics, to give the student a good basisfor work in this highly relevant eld. Topics include:Locomotion, Non-visual sensors and algorithms, Uncertaintymodeling, data fusion, State space models, Kalman ltering,Visual sensor, Sampling theory, Image features, Depthreconstruction, Multiple view geometry, Ego-motion,Active vision, Reasoning, Spatial decomposition, Geometricrepresentations, Topological representations, Path planning,Spatial uncertainty, Active control, Pose maintenance,Dead reckoning, Correlation-based localization, Sensorialmaps, Task planning and task interference, Multi-agentcoordination.Prerequisite(s): [(CS 430)](3-0-3)

    228 IIT Graduate Bulletin 2012-2014

  • 8/11/2019 CS Cours Structure

    21/23

    Department of Computer Science

    CS 583Probabilistic Graphical ModelsThis course will cover probabilistic graphical models powerful and interpretable models for reasoning underuncertainty. The generic families of models such asdirected, undirected, and factor graphs as well as specicrepresentations such as hidden Markov models and conditional

    random elds will be discussed. The discussions will includeboth the theoretical aspects of representation, learning,and inference, and their applications in many interestingelds such as computer vision, natural language processing,computational biology, and medical diagnosis.(3-0-3)

    CS 584Machine LearningIntroduce fundamental problems in machine learning. Provideunderstanding of techniques, mathematical concepts, andalgorithms used in machine learning. Provide understandingof the limitations of various machine learning algorithmsand the way to evaluate performance of learning algorithms.Topics include introduction, regression, kernel methods,generative learning, discriminative learning, neural networks,

    support vector machines, graphical models, unsupervisedlearning, and dimensionality reduction.Prerequisite(s): [(CS 430)](3-0-3)

    CS 585Natural Language ProcessingAn introduction to the problems of computing with humanlanguages. Parsing. Semantic representations. Textgeneration. Lexicography. Discourse. Sublanguage studies.Applications to CAI, database interfaces and informationretrieval.Prerequisite(s): [(CS 445)](3-0-3)

    CS 586Software Systems ArchitecturesThis course covers the state-of-the-art in architectural designof complex software systems. The course considers commonly-used software system architectures, techniques for designingand implementing these architectures, models and notationsfor characterizing and reasoning about architectures, andcase studies of actual software system architectures.Prerequisite(s): [(CS 487)](3-0-3)

    CS 587Software Project ManagementConcepts of software product and process quality. Roleof TQM in software project management. Use of metrics,feasibility studies, cost and effort estimates. Discussion of project planning and scheduling. The project team andleadership issues. The Capability Maturity Model: basictenets and application of process evaluation.Prerequisite(s): [(CS 487)](3-0-3)

    CS 588Advanced Software Engineering DevelopmentSoftware development process improvement is a majorobjective of this course. This is achieved through a series of individual programming and process projects. Students learnto plan their projects, apply measurements, estimate size,schedule tasks, and classify defects in order to improve thequality of both their development process and their softwareproducts.Prerequisite(s): [(CS 487)](3-0-3)

    CS 589Software Testing & AnalysisConcepts and techniques for testing and analysis of software.Software testing at the unit, subsystem, and system levels.Specication-based testing. Code-based testing. Model-basedtesting. Methods for test generation and validation. Staticand dynamic analysis. Formal methods and verication.

    Reliability analysis.Prerequisite(s): [(CS 487)](3-0-3)

    CS 590Seminar in Computer ScienceInvestigation and discussion by faculty and studentsconcentrated on some topic of current interest. May be takenmore than once. Prerequisite: Instructor permission required.(3-0-3)

    CS 591Research & Thesis of Masters DegreeInstructor permission required.(Credit: Variable)

    CS 594Research ProblemsInstructor permission required.(Credit: Variable)

    CS 595Topics in Computer ScienceThis course will treat a specic topic, varying from semesterto semester, in which there is a particular student or staff interest. May be taken more than once.(Credit: Variable)

    CS 597Reading & Special ProblemsMay be taken more than once. (Credit: Variable) Instructorpermission required.(Credit: Variable)

    CS 612Topics in Computer VisionCovers advanced topics in computer vision to enhanceknowledge of students interested in this highly importantarea. The topics in this course may change betweensemesters depending on the instructor teaching the courseand the current state of the art in this area. Possible topicsinclude: Image based modeling and rendering, Multipleview geometry, Auto-calibration, Object recognition, Motionanalysis, Tracking, Perceptual user interfaces, Face andgesture recognition, Active vision.Prerequisite(s): [(CS 512)](0-0-3)

    CS 630Advanced Topics in AlgorithmsTheoretical analysis of various types of algorithms. Topicsvary, and may include approximation, quantum, on-line,distributed, randomized, and parallel algorithms. RequiresCS 430. Instructor permission required.Prerequisite(s): [(CS 430)](3-0-3)

    CS 642Advanced Topics in NetworkingIntroduction to advanced networking research. A particularfocus area will be considered, keeping current with advancesin computer networking. Quantitative methods will beemphasized.Prerequisite(s): [(CS 542)](3-0-3)

    IIT Graduate Bulletin 2012-2014 229

  • 8/11/2019 CS Cours Structure

    22/23

    Department of Computer Science

    CS 681Topics in Computational LinguisticsCS 585 Covers various topics in linguistics as they may beapplied to various computational problems in AI, NLP, orIR. The topics in this course may change between semestersdepending on the instructor teaching the course and thecurrent state of the art in this area. Possible topics include:

    Systemic Functional Linguistics, Clausal structure, Groupstructure, Complex structure, Cognitive Linguistics, Processsemantics.Prerequisite(s): [(CS 585)](3-0-3)

    CS 689Advanced Topics in Software EngineeringCourse content is variable and reects the current trends insoftware engineering. Instructor permission required.(3-0-3)

    CS 691Research & Thesis Ph.D.Instructor permission required.(Credit: Variable)

    CS 695Doctoral SeminarDoctoral seminar.(1-0-1)

    CS 750Computer-Aided Software EngineeringThis course presents the state-of-the-art of computer-aidedsoftware engineering technologies. CASE encompasses acollection of automated tools and methods that provideautomated support to the software specication, design,development, testing, maintenance, and management of largeand complex software systems. Students will develop workingunderstanding of CASE methodologies and tools.Prerequisite(s): [(CS 487)](2-0-2)

    CS 763Automated Software TestingThis course will examine both the state-of-the-art and thestate-of-practice in automated software testing on a systemlevel and an unit level. Relevant issues include theoreticalfoundations of automated testing, automation tools andtechniques, empirical studies and industrial experience. Keytopics include, but are not limited to: Fundamentals of automated software testing, automated test design, modelingand generation, automated test execution, automated testmanagement, automated test metrics, automated tools,automated feature and regression testing Environments tosupport cost-effective automated software testing, discussionson the barriers to industrial use of automated testing.Prerequisite(s): [(CS 487)](2-0-2)

    Computer Science Prof MasterCSP 527Client-Server Applications DevelopmentThrough hands-on experience in developing a client-serverdatabase project and developing and managing a client-server Internet pro ject, this course teaches advanced skills

    for effective design and implementation of client-serverapplications. Students will examine the architecturaland functionality decisions, technologies, congurations,languages, and techniques associated with client-serversystems. Active/passive client-server technologies, as wellas public, enterprise-wide, and inter-enterprise approachesto decision and operation support are discussed andimplemented.Prerequisite(s): [(CS 425)](3-0-3)

    CSP 541Internet TechnologiesThis course focuses on the technologies and protocols used byInternet WANs and LANs. The fundamental architecture,organization, and routing principles of the Internet are

    described. Part of the course will focus on emerging Internettechnologies.Prerequisite(s): [(CS 455)](3-0-3)

    CSP 542Internet Design & Analysis ObjectivesThis course examines the principles for network design.The design process is studied from requirements gatheringto deployment. The student will gain experience inestimating application load, network sizing, componentchoice, and protocol choice. Internetworking between popularcomponents and protocols will be studied. Analytical andsimulation techniques are described and used to designseveral local- and wide-area networks.Prerequisite(s): [(CS 455)]

    (3-0-3)CSP 543Multimedia NetworkingThis course covers the architectures, protocols, and designissues for multimedia networks. Topics covered includecoding, compression, streaming, synchronization, QoS, andadaptation. Current tools for multimedia networking will besurveyed. Issues with multimedia application developmentwill be explored. Students will design and develop multimediaapplications.Prerequisite(s): [(CS 455)](3-0-3)

    CSP 544System & Network SecurityThis course will present an in-depth examination of topicsin data and network security such as: Access control,authentication, security assessment, network and datasecurity tools, and security policies. A signicant hands-oncomponent includes network incidents to detect and x.Prerequisite(s): [(CS 430 and CS 455)](3-0-3)

    CSP 545Wireless Networking Technologies & Applications ObjectivesThis course will present the foundation of wireless technologiesand examine state-of-the-art wireless systems, services,network technologies, and security.Prerequisite(s): [(CS 542)](3-0-3)

    230 IIT Graduate Bulletin 2012-2014

  • 8/11/2019 CS Cours Structure

    23/23

    Department of Computer Science

    CSP 550Internet ProgrammingThis course discusses current fundamental concepts anddevelopment techniques for distributed applications. Topicscovered include multithreaded programs, sockets, message-passing systems, remote method invocation and procedurecalls, peer-to-peer networks, and underlying technologies for

    internet applications.Prerequisite(s): [(CS 450)](3-0-3)

    CSP 551Advanced UNIX ProgrammingThis course provides a hand-on introduction to UNIXprogramming topics such as standard application programmerinterfaces, concurrent programming, UNIX processes andthreads, shell programming, UNIX interprocess communica-tions, client-server designs, and application portability.Prerequisite(s): [(CS 450)](3-0-3)

    CSP 570Data Science SeminarThis required seminar course surveys current applicationsof data science, bringing in lecturers from industry andacademia to discuss real-world problems and how they areaddressed within a data analytic framework. Students arerequired to attend all lectures and to give a short presentationor paper on one of the topics at the end of the semester.Permission is required from the instructor or department.(1-0-0)

    CSP 571Data Preparation & AnalysisSurveys industrial and scientic applications of data analyticswith case studies including exploration of ethical issues viacase studies. Students will work with a variety of real worlddata sets and learn how to prepare data sets for analysis bycleaning and reformatting. We will also cover a variety of data exploration techniques including summary statistics andvisualization methods.(3-0-3)

    CSP 572Data Science PracticumStudents will work in small groups to solve real-world dataanalysis problems for actual scientic or industrial clients.Innovation and clarity of presentation will be key elements of evaluation. Students will also have an option to fulll courserequirements through a data analytics internship with anindustry partner.(0-0-6)

    CSP 581Applied Articial Intelligence ProgrammingTo learn AI programming algorithms and techniques incommon lisp. Time is split between common Lisp topics anddiscussions of implementation strategies for AI algorithms.Prerequisite(s): [(CS 440)](3-0-3)

    CSP 585Object-Oriented Design PatternsThis course introduces the principles of design patternsfor Object-Oriented software systems. A catalog of designpatterns is shown, to illustrate the roles of patterns indesigning and contracting complex software systems. Thecatalog of design patterns also provides a pragmatic referenceto a well-engineered set of existing patterns currently in use.Also discussed is the impact of post-object oriented softwaredevelopment on design patterns.Prerequisite(s): [(CS 445)]

    (3-0-3)

    CSP 586Software Modeling Development with UMLStudents will obtain a signicant exposure to the UMLtechnology. This will include exposure to modeling, model-driven development, executable models, and round-tripengineering.Prerequisite(s): [(CS 445) OR (CS 487)]

    (3-0-3)CSP 587Software Quality ManagementStudents will learn methods of software quality management.this will include exposure to software quality assurance,quality measures, and quality control. These qualitymanagement methods will be explained at the applicationslevel.Prerequisite(s): [(CS 487)](3-0-3)

    CSP 595Topics in Computer Science Professional Master

    (3-0-3)

    Undergraduate Courses Available to Graduate Students

    Note: Students may take up to an approved number of the following courses.

    CS 411Computer Graphics

    CS 422Data Mining

    CS 425Database Organization

    CS 429

    Information RetrievalCS 430Introduction to Algorithms

    CS 440Programming Languages and Translators

    CS 441Current Topics in Programming Languages

    CS 445Object Oriented Design and Programming

    CS 447Distributed Objects

    CS 450Operating Systems

    CS 455Data Communications

    CS 458Information Security

    CS 470Computer Architecture

    CS 480Articial Intelligence Planning and Control

    CS 485Computers and Society

    CS 487Software Engineering I

    IIT Graduate Bulletin 2012-2014 231