Indiana University


ComputerScience






 Home

 Contacts

 Courses
   Overviews
   Descriptions
   Schedules
   All IU Courses

 Academics

 Careers

 Research

 People

 Calendar

 Resources

 Facilities

IU Computer Science Department Courses

[Down page to the courses list]

Initial letters used in course designations have the following significance: A for non-major, B for major non-core, C for major core, H for honors, P for programming-in-the-large, Y for independent studies.

Course Equivalences: Credit by examination: The only CSCI courses for which credit is offered by examination are A201 and A202. This credit may be earned either by
  • a qualifying score on the Advanced Placement Program (AP) test in computer science, as described in the University Division Planner, or
  • a departmental exam
Statement on Academic Integrity

Click on a course number for its catalog description. Click on a course title for its most recent home page. Credit: U - undergraduate only, G - graduate only, U/G - graduate and undergraduate.

Non Major Courses

Num  Title  Credit  Hours  Lab
Fee 
A110 Introduction to Computers & Computing
A111 Survey of Computers & Computing 1.5 
A112 Programming Concepts 1.5 
A113 Data Analysis using Spreadsheets 1.5 
A114 Introduction to Databases 1.5 
A115 Using the World Wide Web 1.5 
A116 Multimedia Communication 1.5 
A190 Excursions into Computing 
A201 Introduction to Programming I
A202 Introduction to Programming II
A216 Digital Multimedia Concepts and Technologies
A290 Adventures in Computing  1-2 
A304 Introductory C++ Programming
A306 Object-Oriented Programming in C++
A321 Computing Tools for Scientific Research
A338 Network Technologies and Administration
A346 User-interface Programming 
A348 Mastering the World Wide Web 3-4
A504 Introductory C++ Programming
A506 Object-Oriented Programming in C++ 
A521 Computing Tools for Scientific Research
A538 Network Technologies and Administration
A546 User-interface Programming 
A548 Mastering the World Wide Web 3
A591 Introduction to Computer Science
A592 Introduction to Software Systems
A593 Computer Structures 
A594 Data Structures
A595 Fundamentals of Computing Theory
A596 Programming Languages 
A597 Introduction to Programming I
A598 Introduction to Programming II

Undergraduate Major Courses

Num  Title  Credit  Hours  Lab
Fee 
C102 Great Ideas in Computing
C211 Introduction to Computer Science
H211 Introduction to Computer Science - Honors
C212 Introduction to Software Systems
H212 Introduction to Software Systems - Honors
C241 Discrete Structures for Computer Science
H241 Discrete Structures for Computer Science - Honors
C311 Programming Languages
H311 Programming Languages - Honors 
C322 Object Oriented Software Methods
C335 Computer Structures
H335 Computer Structures - Honors
C343 Data Structures
H343 Data Structures - Honors
B351 Introduction to Artificial Intelligence and Computer Simulation 
B355 Autonomous Robotics 
Y390 Undergraduate Independent Study 1-3 
Y391 Undergraduate Independent System Development 1-3 
Y398 Internship in Professional Practice 3-6 
Y399 Project in Professional Practice 3-6 
B401 Fundamentals of Computing Theory       U       3     N
B403 Introduction to Algorithm Design and Analysis U/G 
P415 Introduction to Verification        U       3     N
P423 Compilers U/G  N
P436 Introduction to Operating Systems U/G 
P438 Fundamentals of Computer Networks 
B441 Digital Design
P442 Digital Systems
B443 Introduction to Computer Architecture U/G 
B461 Database Concepts
P465
P466
Software Engineering for Information Systems I-II 3-3 
B481 Interactive Graphics
B490 Seminar in Computer Science  1-3 
H498 Honors Seminar  1-6 
Y499 Honors Research  1-12 

Graduate Courses

Num  Title  Credit  Hours  Lab
Fee 
B501 Theory of Computing U/G 
B502 Computational Complexity U/G 
B503 Algorithms Design and Analysis U/G 
B510 Introduction to Applied Logic U/G 
P515 Specification & Verification         G        3     N
B521 Programming Language Principles U/G 
B522 Programming Language Foundations  U/G 
P523 Programming Language Implementation U/G 
B524 Parallelism in Programming Languages and Systems  U/G 
B534 Distributed Systems U/G 
P535 Pervasive Computing U/G 
P536 Advanced Operating Systems U/G 
P538 Computer Networks U/G 
B541
P542
Hardware System Design I-II 3-3 
B543 Computer Architecture U/G 
P545 Embedded and Real-Time Systems U/G 
B551 Elements of Artificial Intelligence U/G 
B552 Knowledge Based Computation U/G 
B553 Biomorphic Computation  U/G 
B561 Advanced Database Concepts
P565
P566
Software Engineering I-II 3-3 
P573 Scientific Computing U/G 
B581 Advanced Computer Graphics U/G 
B582 Image Synthesis  U/G 
B599 Teaching in Computer Science

Advanced Graduate Courses

Num  Title  Credit  Hours  Lab
Fee 
B603 Advanced Algorithms Analysis
B607 Philosophy of Computation        G         3      N
B609 Topics in Algorithms and Computing Theory 1-6 
B619 Topics in Applied Logic  1-6 
B621 Advanced Concepts in Programming Languages 
B622 Programming Language Type Systems
B629 Topics in Programming Languages 1-6 
B644 Very Large Scale Integration 
B649 Topics in Systems 1-6 
B651 Natural Language Processing
B652 Computer Models of Symbolic Learning 
B657 Computer Vision 
B659 Topics in Artificial Intelligence  1-6 
B661 Database Theory and Systems Design 
B665 Software Engineering Management
B666 Software Management Implementation 1-3 
B669 Topics in Database and Information Systems 1-6 
B673 Advanced Scientific Computing
B679 Topics in Scientific Computing 1-6 
B689 Topics in Graphics and Human Computer Interaction 1-6 
G901 Advanced Research  6
Y790 Graduate Independent Study  Independent Research Permission Form: (PDF), (Postscript ) 1-6 
Y798 Professional Practicum/Internship  Curricular Practical Training Y798 Authorization Form: ( PDF ), ( Postscript)
Y890 Thesis Readings and Research  1-12 








Valid HTML 4.01!