Go to Main Content

Purdue Self-Service

 

HELP | EXIT

Catalog Entries

 

Spring 2014
Apr 20, 2014
Transparent Image
Information Select the Course Number to get further detail on the course. Select the desired Schedule Type to find available classes for the course. The Schedule Type links will be available only when the schedule of classes is available for the selected term.

CS 11000 - Introduction To Computers
Credit Hours: 3.00. Computer applications and how they can be used for solving problems in everyday life. The Internet with an emphasis on obtaining information from the World Wide Web, use of a database with an emphasis on data storage and retrieval, spreadsheets, word processing, presentation software, integration of multiple software packages. May not be taken for credit by Computer Science majors. Typically offered Summer Fall Spring.
0.000 OR 3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Individual Study, Laboratory, Lecture
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Credit By Exam, Lower Division

May be offered at any of the following campuses:     
      West Lafayette Continuing Ed
      Indiana College Network
      West Lafayette
      TSW-Lafayette


CS 14900 - Web Programming
Credit Hours: 3.00. HyperText Markup Language, JavaScript, Active Server Pages, Java Serves Pages, Java servlets, Cascading Style Sheets, Extensible Markup Language (XML), website security. May not be taken for credit by majors in Computer Sciences. Typically offered Summer Fall Spring.
0.000 OR 3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Laboratory, Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Lower Division

May be offered at any of the following campuses:     
      West Lafayette


CS 15800 - C Programming
Credit Hours: 3.00. Introduction to structured programming in C. Data types and expression evaluation. Programmer-defined functions including passing parameters by value and by address. Selection topics include if/else/else-if, conditional expressions, and switch. Repetition topics include while, do-while, for, and recursion. External file input and output. Arrays, analysis of searching and sorting algorithms, and strings. Pointers and dynamic memory allocation. Students are expected to complete assignments in a collaborative environment. CS 15800 may be used to satisfy College of Science requirement of participation in at least one team-building and collaboration experience. Typically offered Summer Fall Spring.
0.000 OR 3.000 Credit hours

Syllabus Available
Levels: Graduate, Indiana College Network, Professional, Undergraduate
Schedule Types: Distance Learning, Individual Study, Laboratory, Lecture
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Lower Division

May be offered at any of the following campuses:     
      West Lafayette Continuing Ed
      North Central
      West Lafayette

Learning Objectives: 1. Demonstrate competency in the fundamental principles, concepts and methods of programming (C and MATLAB), with emphasis on developing solutions in the domains of physical sciences, mathematics, and engineering. 2. Demonstrate the ability to function as part of a technical team to generate the solution to a programming problem. 3. Explore common programming concepts in various computing environments and implement those concepts across more than one language. 4. Analyze alternative algorithm designs to implement a solution designed to make efficient use of limited resources of the computer.


CS 15900 - Programming Applications For Engineers
Credit Hours: 3.00. Fundamental principles, concepts, and methods of programming (C and MATLAB), with emphasis on applications in the physical sciences and engineering. Basic problem solving and programming techniques; fundamental algorithms and data structures; and use of programming logic in solving engineering problems. Students are expected to complete assignments in a collaborative learning environment. Typically offered Summer Fall Spring.
0.000 OR 3.000 Credit hours

Levels: Graduate, Indiana College Network, Professional, Undergraduate
Schedule Types: Distance Learning, Laboratory, Lecture
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Lower Division

May be offered at any of the following campuses:     
      West Lafayette Continuing Ed
      West Lafayette


CS 17700 - Programming With Multimedia Objects
Credit Hours: 4.00. Introduction to computers and programming: number representations, primitive data types and operations, basic control structures, programming applets and applications using graphical user interfaces, programming for detecting events and performing actions, processing multimedia objects such as images and sounds. Throughout the course, examples are drawn from a variety of fields in the natural sciences. Not open to CS majors with a grade of C or better in CS 18000. Not open to non-CS majors with a grade of C or better in any course in computer programming. Typically offered Fall Spring.
0.000 OR 4.000 Credit hours

Levels: Graduate, Indiana College Network, Professional, Undergraduate
Schedule Types: Distance Learning, Laboratory, Lecture, Recitation
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Lower Division

May be offered at any of the following campuses:     
      West Lafayette Continuing Ed
      West Lafayette


CS 18000 - Problem Solving And Object-Oriented Programming
Credit Hours: 4.00. Problem solving and algorithms, implementation of algorithms in a high level programming language, conditionals, the iterative approach and debugging, collections of data, searching and sorting, solving problems by decomposition, the object-oriented approach, subclasses of existing classes, handling exceptions that occur when the program is running, graphical user interfaces (GUIs), data stored in files, abstract data types, a glimpse at topics from other CS courses. Intended primarily for students majoring in computer sciences. Credit cannot be obtained for both CS 18000 and any of 15600, 15800 and 15900. Not open to students with credit in CS 18100 or 24000. Typically offered Fall Spring.
0.000 OR 4.000 Credit hours

Syllabus Available
Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Laboratory, Lecture, Recitation
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Lower Division

May be offered at any of the following campuses:     
      West Lafayette

Learning Objectives: 1. Students have an understanding of solving problems by analyzing the problem, designing an algorithm, and programming the solution.


CS 18200 - Foundations Of Computer Science
Credit Hours: 3.00. Logic and proofs; sets, functions, relations, sequences and summations; number representations; counting; fundamentals of the analysis of algorithms; graphs and trees; proof techniques; recursion; Boolean logic; finite state machines; pushdown automata; computability and undecidability. Typically offered Spring Fall.
0.000 OR 3.000 Credit hours

Syllabus Available
Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture, Practice Study Observation
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Lower Division

May be offered at any of the following campuses:     
      West Lafayette

Learning Objectives: 1. Students understand discrete mathematical tools, facts, and reasoning relevant to computer science.


CS 18300 - Professional Practice I
Credit Hours: 0.00. Professional Practice. Permission of instructor required. Typically offered Fall Spring Summer.
0.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Experiential

Offered By: College of Science
Department: Computer Science

Course Attributes:
Coop, Full-Time Privileges, Lower Division

May be offered at any of the following campuses:     
      West Lafayette


CS 18400 - Professional Practice II
Credit Hours: 0.00. Professional Practice. Permission of instructor required. Typically offered Fall Spring Summer.
0.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Experiential

Offered By: College of Science
Department: Computer Science

Course Attributes:
Coop, Full-Time Privileges, Lower Division

May be offered at any of the following campuses:     
      West Lafayette


CS 19000 - Topics In Computer Sciences
Credit Hours: 1.00 to 5.00. Topics vary. Permission of instructor required. Typically offered Fall Spring Summer.
0.000 TO 5.000 Credit hours

Levels: Graduate, Indiana College Network, Professional, Undergraduate
Schedule Types: Distance Learning, Individual Study, Laboratory, Lecture, Practice Study Observation, Recitation

Offered By: College of Science
Department: Computer Science

Course Attributes:
Lower Division, Variable Title

May be offered at any of the following campuses:     
      Indiana College Network
      West Lafayette
      TSW-Anderson
      TSW-Columbus
      TSW-Indianapolis
      TSW-Kokomo
      TSW-Lafayette
      TSW-New Albany
      TSW-Richmond
      TSW-South Bend

Repeatable for Additional Credit: Yes - May be repeated an unlimited number of times


CS 19100 - Freshman Resources Seminar
Credit Hours: 1.00. This course is intended to integrate freshman majors in computer sciences into the department, help them adjust to university life, and assist them in developing academic and intellectual survival skills. Weekly recitation sections enable the students to work in teams. Strongly recommended for freshmen. The credit may be used only toward free electives. Typically offered Fall.
0.000 OR 1.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture, Recitation

Offered By: College of Science
Department: Computer Science

Course Attributes:
Lower Division

May be offered at any of the following campuses:     
      West Lafayette


CS 19700 - Freshman Honors Seminar
Credit Hours: 1.00. A seminar dealing with the history, context, and future of computer science. Open only to students in the Computer Sciences Honors Program. The credit may be used only toward free electives. Typically offered Spring.
1.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Honors, Lower Division

May be offered at any of the following campuses:     
      West Lafayette

Repeatable for Additional Credit: Yes - May be repeated up to 1 times


CS 23500 - Introduction To Organizational Computing
Credit Hours: 3.00. People and organizations, decision-making, information systems, telecommunications, desktop systems, integration tools, collaboration and groupware, multimedia, authoring multimedia documents, emerging technologies. May not be taken for credit by Computer Science majors. Typically offered Summer Fall Spring.
0.000 OR 3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Laboratory, Lecture
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Credit By Exam, Lower Division

May be offered at any of the following campuses:     
      West Lafayette


CS 24000 - Programming In C
Credit Hours: 3.00. The UNIX environment, C development cycle, data representation, operators, program structure, recursion, macros, C preprocessor, pointers and addresses, dynamic memory allocation, structures, unions, typedef, bit-fields, pointer/structure applications, UNIX file abstraction, file access, low-level I/O, concurrency. Typically offered Fall Spring.
0.000 OR 3.000 Credit hours

Syllabus Available
Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Laboratory, Lecture
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Lower Division

May be offered at any of the following campuses:     
      West Lafayette

Learning Objectives: 1. Students understand programming principles and techniques for problem solving in the C programming language.


CS 25000 - Computer Architecture
Credit Hours: 4.00. Digital logic: transistors, gates, and combinatorial circuits; clocks; registers and register banks; arithmetic-logic units; data representation: big-endian and little-endian integers; ones and twos complement arithmetic; signed and unsigned values; Von-Neumann architecture and bottleneck; instruction sets; RISC and CISC designs; instruction pipelines and stalls; rearranging code; memory and address spaces; physical and virtual memory; interleaving; page tables; memory caches; bus architecture; polling and interrupts; DMA; device programming; assembly language; optimizations; parallelism; data pipelining. Typically offered Fall Spring.
0.000 OR 4.000 Credit hours

Syllabus Available
Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Laboratory, Lecture
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Lower Division

May be offered at any of the following campuses:     
      West Lafayette

Learning Objectives: 1. Students understand the function of basic hardware, including fundamentals of digital logic, processors, memory, and I/O.


CS 25100 - Data Structures And Algorithms
Credit Hours: 3.00. Running time analysis of algorithms and their implementations, one-dimensional data structures, trees, heaps, additional sorting algorithms, binary search trees, hash tables, graphs, directed graphs, weighted graph algorithms, additional topics. Typically offered Fall Spring.
0.000 OR 3.000 Credit hours

Syllabus Available
Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture, Practice Study Observation
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Lower Division

May be offered at any of the following campuses:     
      West Lafayette

Learning Objectives: 1. Students understand fundamental data structures, fundamental algorithms, and their implementation.


CS 25200 - Systems Programming
Credit Hours: 4.00. Low-level programming; review of addresses, pointers, memory layout, and data representation; text, data, and bss segments; debugging and hex dumps; concurrent execution with threads and processes; address spaces; file names; descriptors and file pointers; inheritance; system calls and library functions; standard I/O and string libraries; simplified socket programming; building tools to help programmers; make and make files; shell scripts and quoting; unix tools including sed, echo, test, and find; scripting languages such as awk; version control; object and executable files (.o and a.out); symbol tables; pointers to functions; hierarchical directories; and DNS hierarchy; programming embedded systems. Typically offered Fall Spring.
0.000 OR 4.000 Credit hours

Syllabus Available
Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Laboratory, Lecture, Recitation
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Lower Division

May be offered at any of the following campuses:     
      West Lafayette

Learning Objectives: 1. Students have an appreciation and ability for low-level (systems) programming and debugging.


CS 28400 - Professional Practice III
Credit Hours: 0.00. Professional Practice. Permission of instruction required. Typically offered Fall Spring Summer.
0.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Experiential

Offered By: College of Science
Department: Computer Science

Course Attributes:
Coop, Full-Time Privileges, Lower Division

May be offered at any of the following campuses:     
      West Lafayette


CS 28401 - Professional Practice Part-Time
Credit Hours: 0.00. Professional Practice Part-Time. The instructor determines the adequacy of the student's preparation for the work assignment proposed by the prospective employer for the student. Permission of Instructor required. Typically offered Fall Spring Summer.
0.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Experiential

Offered By: College of Science
Department: Computer Science

Course Attributes:
Lower Division

May be offered at any of the following campuses:     
      West Lafayette

Repeatable for Additional Credit: Yes - May be repeated an unlimited number of times


CS 29000 - Topics In Computer Sciences
Credit Hours: 1.00 to 5.00. Topics vary. Permission of instructor required. Typically offered Summer Fall Spring.
0.000 TO 5.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Individual Study, Laboratory, Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Lower Division, Variable Title

May be offered at any of the following campuses:     
      West Lafayette Continuing Ed
      Indiana College Network
      West Lafayette

Repeatable for Additional Credit: Yes - May be repeated an unlimited number of times


CS 29100 - Sophomore Development Seminar
Credit Hours: 1.00. Presentations by corporate partners about careers in computer science. Presentations by faculty about careers in academia and research. Students learn about upper-division courses, tour research laboratories, and attend job fairs. Typically offered Fall.
0.000 OR 1.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture, Practice Study Observation

Offered By: College of Science
Department: Computer Science

Course Attributes:
Lower Division

May be offered at any of the following campuses:     
      West Lafayette


CS 30700 - Software Engineering I
Credit Hours: 3.00. An introduction to the methods and tools of software engineering; software life cycle; specification and design of software, software testing, cost and effort estimation; laboratory exercises with design, testing, and other tools. Typically offered Fall Spring.
0.000 OR 3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture, Recitation

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 31400 - Numerical Methods
Credit Hours: 3.00. Iterative methods for solving nonlinear equations; direct and iterative methods for solving linear systems; approximations of functions, derivatives, and integrals; error analysis. Typically offered Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 33400 - Fundamentals Of Computer Graphics
Credit Hours: 3.00. Fundamental principles and techniques of computer graphics. The course covers the basics of going from a scene representation to a raster image using OpenGL. Specific topics include coordinate manipulations, perspective, basics of illumination and shading, color models, texture maps, clipping and basic raster algorithms, fundamentals of scene constructions. C S 314 is recommended. Typically offered Fall.
0.000 OR 3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture, Practice Study Observation

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 34800 - Information Systems
Credit Hours: 3.00. File organization and index structures; object-oriented database languages; the relational database model with introductions to SQL and DBMS; hierarchical models and network models with introductions to HDDL, HDML, and DBTG Codasyl; data mining; data warehousing; database connectivity; distributed databases; the client/server paradigm; middleware, including ODBC, JDBC, CORBA, and MOM. Typically offered Fall.
0.000 OR 3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture, Practice Study Observation

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 35200 - Compilers: Principles And Practice
Credit Hours: 3.00. Should not be taken concurrently with CS 354. The theory and practice of programming language translation, compilation, and run-time systems, organized around a significant programming project to build a compiler for a simple but nontrivial programming language. Modules, interfaces, tools. Data structures for tree languages. Lexical analysis, syntax analysis, abstract syntax. Symbol tables, semantic analysis. Translation, intermediate code, basic blocks, traces. Instruction selection, CISC and RISC machines. Liveness analysis, graph coloring register allocation. Supplemental material drawn from garbage collection, object-oriented languages, higher-order languages, dataflow analysis, optimization, polymorphism, scheduling and pipelining, memory hierarchies. Typically offered Fall Spring.
0.000 OR 3.000 Credit hours

Syllabus Available
Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture, Practice Study Observation
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette

Learning Objectives: 1. Provides students with an understanding of how a computer program is converted into elementary code that causes the computer to produce the output intended by the programmer.


CS 35300 - Principles Of Concurrency And Parallelism
Credit Hours: 3.00. Important concepts, models, algorithms, abstractions, and implementation aspects of concurrent and parallel programs. Topics include: techniques used to describe concurrent programs (e.g., threads, events, co-routines, continuations), abstractions for shared-memory and message-passing programs, relaxed memory models, livestock and deadlock detection, lock-free algorithms, data races and atomicity, scheduling techniques, process calculi, and software transactions. Typically offered Spring.
3.000 Credit hours

Syllabus Available
Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette

Learning Objectives: 1. This course provides students the vocabulary and concepts to better understand how to design and program scalable multicore processors.


CS 35400 - Operating Systems
Credit Hours: 3.00. Should not be taken concurrently with CS 35200. Introduction to operating systems. Computer system and operating system architectures, processes, inter-process communication, inter-process synchronization, mutual exclusion, deadlocks, memory hierarchy, virtual memory, CPU scheduling, file systems, I/O device management, security. Typically offered Fall Spring.
0.000 OR 3.000 Credit hours

Syllabus Available
Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture, Practice Study Observation
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette

Learning Objectives: 1. Provides students with an understanding of the fundamentals of computer operating systems.


CS 35500 - Introduction To Cryptography
Credit Hours: 3.00. An introduction to cryptography basics: Classic historical ciphers including Caesar, Vigenere and Vernam ciphers; modern ciphers including DES, AES, Pohlig-Hellman, and RSA; signatures and digests; key exchange; simple protocols; block and stream ciphers; network-centric protocols. Typically offered Fall Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 38100 - Introduction To The Analysis Of Algorithms
Credit Hours: 3.00. Techniques for analyzing the time and space requirements of algorithms. Application of these techniques to sorting, searching, pattern-matching, graph problems, and other selected problems. Brief introduction to the intractable (NP-hard) problems. Typically offered Fall Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 38600 - Professional Practice IV
Credit Hours: 0.00. Professional Practice. Permission of instructor required. Typically offered Fall Spring Summer.
0.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Experiential

Offered By: College of Science
Department: Computer Science

Course Attributes:
Coop, Full-Time Privileges, Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 39000 - Topics In Computer Sciences
Credit Hours: 1.00 to 5.00. Topics vary. Permission of instructor required. Typically offered Fall Spring Summer.
1.000 TO 5.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Individual Study, Laboratory, Lecture
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division, Variable Title

May be offered at any of the following campuses:     
      West Lafayette Continuing Ed
      West Lafayette

Repeatable for Additional Credit: Yes - May be repeated an unlimited number of times


CS 39100 - Junior Resources Seminar
Credit Hours: 1.00. This seminar course engages a number of outside speakers who typically present information on the role of research in computer science, how the research components of computer science relate to each other, approaches to software development in industry, different types of application development paradigms, technological trends, and societal, ethical, and legal issues. The credit may be used only toward free electives. Typically offered Spring.
0.000 OR 1.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture, Practice Study Observation

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 39700 - Honors Seminar
Credit Hours: 0.00. A seminar for all sophomores, juniors, and seniors in the Computer Sciences Honors Program. Meets eight times each semester under the supervision of the Honors coordinator. The meetings focus on honors research projects, helping students to identify appropriate projects and form groups, and providing a forum for juniors and seniors to report on their projects as required in the honors program. Typically offered Fall.
0.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Honors, Upper Division

May be offered at any of the following campuses:     
      West Lafayette

Repeatable for Additional Credit: Yes - May be repeated an unlimited number of times


CS 40700 - Software Engineering II
Credit Hours: 3.00. Because of the nature of the project, CS 40700 is an extension of CS 40600. The emphasis is on the development of a large software system in a team environment. Knowledge of methods and tools acquired in CS 40600 are put to use in a carefully controlled and guided project. Some advanced topics such as reliability estimation and methods, and tools for the design and verification of parallel programs are covered during the lectures. Typically offered Spring.
0.000 OR 3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture, Practice Study Observation

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette Continuing Ed
      West Lafayette


CS 40800 - Software Testing
Credit Hours: 3.00. Preliminaries: errors and testing; software quality, requirements, behavior, and correctness; testing, debugging, verification; control flow graphs, dominators; types of testing; Test selection: from requirements, finite state models, and combinatorial designs; regression testing and test minimization; Test adequacy assessment: control and data flow; mutation based; testing tools. Typically offered Fall.
3.000 Credit hours

Syllabus Available
Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette

Learning Objectives: 1. Understand the basic technology related to software testing and debugging. 2. Differentiate between reliability and correctness. 3. Understand the impact of the saturation effect on the test process and its cost. 4. Understand the relationship between software development and test processes. 5. Apply a variety of black box test generation methods manually and using tools. 6. Use test adequacy criteria and understand their respective cost and effectiveness. 7. Select appropriate software test tools for a given testing task


CS 42200 - Computer Networks
Credit Hours: 3.00. Undergraduate-level introduction to computer networks and data communication. Low-level details of media, signals, and bits: time division and frequency division multiplexing; encoding; modulation; bandwidth, throughput, and noise. Packet transmission: Local Area Network (Ethernet, FDDI) and Wide Area Network technologies (ATM); wireless networks; network interconnection with repeaters, bridges, and switches; DSU/CSU; xDSL and cable modems. Internetworking: router-based architecture; IP addressing; address binding with ARP; datagram encapsulation and fragmentation; UDP and TCP, retransmission; protocol ports; ICMP and error handling. Network applications: client/server concept; port demultiplexing; program interface to protocols (API); use by clients and servers; domain name system; TELNET; Web technologies including HTTP, CGI, Java; RPC and middleware; network management. Typically offered Fall Spring.
0.000 OR 3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture, Practice Study Observation
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 42600 - Computer Security
Credit Hours: 3.00. A survey of the fundamentals of information security. Risks and vulnerabilities, policy formation, controls and protection methods, database security, encryption, authentication technologies, host-based and network-based security issues, personnel and physical security issues, issues of law and privacy. Typically offered Fall Spring.
0.000 OR 3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture, Practice Study Observation
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 43400 - Advanced Computer Graphics
Credit Hours: 3.00. Advanced concepts and techniques of computer graphics. The course covers, in complete detail, going from a scene representation to a raster image without using OpenGL or other graphics packages. The course develops a complete graphics implementation in which the students implement every aspect of the graphics pipeline. This involves a substantial software project in C/C++. Typically offered Spring.
0.000 OR 3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture, Practice Study Observation
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 44800 - Introduction To Relational Database Systems
Credit Hours: 3.00. An in-depth examination of relational database systems including theory and concepts as well as practical issues in relational databases. Modern database technologies such as object-relational and Web-based access to relational databases. Conceptual design and entity relationship modeling, relational algebra and calculus, data definition and manipulation languages using SQL, schema and view management, query processing and optimization, transaction management, security, privacy, integrity management. Typically offered Fall Spring.
0.000 OR 3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture, Practice Study Observation
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 45600 - Programming Languages
Credit Hours: 3.00. Concepts for structuring data, computation, and whole programs. Object-oriented languages, functional languages, logic- and rule-based languages. Data types, type checking, exception handling, concurrent processes, synchronization, modularity, encapsulation, interfaces, separate compilation, inheritance, polymorphism, dynamic binding, subtyping, overloading, beta-reduction, unification. Typically offered Spring.
0.000 OR 3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture, Practice Study Observation

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 47100 - Introduction to Artificial Intelligence
Credit Hours: 3.00. Students are expected to spend at least three hours per week gaining experience with artificial intelligence systems and developing software. Basic problem-solving strategies, heuristic search, problem reduction and AND/OR graphs, knowledge representation, expert systems, generating explanations, uncertainty reasoning, game playing, planning, machine learning, computer vision, and programming systems such as Lisp or Prolog.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture, Practice Study Observation

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 47300 - Web Information Search And Management
Credit Hours: 3.00. This course teaches important concepts and knowledge of information retrieval for managing unstructured data such as text data on Web or in emails. At the same time, students will be exposed to a large number of important applications. Students in the course will get hands on experience from homework and a course project. The first part of the course focuses on general concepts/techniques such as stemming, indexing, vector space model, and feedback procedure. The second part of the course shows how to apply the set of techniques on different applications such as Web search, text categorization, and information recommendation. Typically offered Fall.
3.000 Credit hours

Syllabus Available
Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette

Learning Objectives: 1. Understand the important concepts and techniques of information retrieval and how to apply these techniques to a set of important or real world applications.


CS 47800 - Introduction to Bioinformatics
Credit Hours: 3.00. (BIOL 47800 and STAT 47800) Bioinformatics is broadly defined as the study of molecular biological information, targeting particularly the enormous volume of DNA sequence and functional complexity embedded in entire genomes. Topics will include understanding the evolutionary organization of genes (genomics), the structure and function of gene products (proteomics), and the dynamics of gene expression in biological processes (transcriptomics). Inherently, bioinformatics is interdisciplinary, melding various applications of computational science with biology. This jointly taught course introduces analytical methods from biology, statistics and computer science that are necessary for bioinformatics investigations. The course is intended for junior and senior undergraduates from various science backgrounds. Our objective is to develop the skills of both tool users and tool designers in this important new field of research. Typically offered Fall.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 48300 - Introduction To The Theory Of Computation
Credit Hours: 3.00. Turing machines and the Church-Turing thesis; decidability; halting problem; reducibility; undecidable problems; decidability of logical theories; Kolmogorov complexity; time classes; P, NP, NP-complete; space classes; Savitch's theorem, PSPACE-completeness, NL-completeness; hierarchy theorems; approximation theorems; probabilistic algorithms; applications of complexity to parallel computation and cryptography. Typically offered Fall Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 48700 - Professional Practice V
Credit Hours: 0.00. Professional Practice. Permission of instructor required. Typically offered Fall Spring Summer.
0.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Experiential

Offered By: College of Science
Department: Computer Science

Course Attributes:
Coop, Full-Time Privileges, Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 49000 - Topics In Computer Sciences For Undergraduates
Credit Hours: 1.00 to 5.00. Supervised reading and reports in various fields. Permission of instructor required. Typically offered Fall Spring Summer.
0.000 TO 5.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Experiential, Individual Study, Laboratory, Lecture
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division, Variable Title

May be offered at any of the following campuses:     
      West Lafayette Continuing Ed
      Calumet
      West Lafayette

Repeatable for Additional Credit: Yes - May be repeated an unlimited number of times


CS 49700 - Honors Research Project
Credit Hours: 3.00. One semester of the project may be counted as one of the seven computer science courses at or above the 300 level required for the bachelor's degree. One more semester, if approved by the honors coordinator, can be used as a free elective. A group research project directed by Computer Sciences faculty members. Each group must submit a technical report describing its work and the results obtained. Typically offered Fall Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Individual Study

Offered By: College of Science
Department: Computer Science

Course Attributes:
Honors, Upper Division

May be offered at any of the following campuses:     
      West Lafayette

Repeatable for Additional Credit: Yes - May be repeated up to 1 times


CS 50100 - Computing For Science And Engineering
Credit Hours: 3.00. Credit in this course may not be used toward a graduate degree in Computer Sciences. Computational concepts, tools, and skills for computational science and engineering scripting for numerical computing, scripting for file processing, high performance computing, and software development. Project may be required. Typically offered Fall.
3.000 Credit hours

Syllabus Available
Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette Continuing Ed
      West Lafayette

Learning Objectives: 1. To prepare graduate students outside Computer Science to write computer programs in support of their studies and research.


CS 50200 - Compiling And Programming Systems
Credit Hours: 3.00. Basic principles of compilers and compiler design; control of translation, loading, and execution; symbolic coding systems; lexical and syntactic analysis, design and operation of assemblers and macroprocessors; design of interpretive systems. Students are expected to complete a large programming project as part of the course. Typically offered Fall.
3.000 Credit hours

Syllabus Available
Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette Continuing Ed
      West Lafayette

Learning Objectives: 1. Deeper understanding of the syntactic rules and the functionality of modern programming languages, as well as the use of the compiler for enhancing program quality. 2. Opportunity to practice the implementation of certain key components in the compiler front-end and back-end.


CS 50300 - Operating Systems
Credit Hours: 3.00. Basic principles of operating systems: addressing modes, indexing, relative addressing, indirect addressing, stack maintenance; implementation of multitask systems; control and coordination of tasks, deadlocks, synchronization, mutual exclusion; storage management, segmentation, paging, virtual memory; protection, sharing, access control; file systems; resource management; evaluation and prediction of performance. Students are expected to spend at least three hours per week gaining hands-on experience in using and modifying a small operating system. Typically offered Fall Spring.
0.000 OR 3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Laboratory, Lecture, Practice Study Observation
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette Continuing Ed
      PU Fort Wayne
      West Lafayette


CS 50500 - Distributed Systems
Credit Hours: 3.00. Foundations for building reliable distributed systems, including failure and system models, and basic communication and agreement problems; crash failures, recovery, partition, Byzantine failures; asynchronous systems, failure detectors, communication channels, wireless and sensor networks; software clocks, causality, and cuts. Examples of problems include reliable broadcast consensus, leader election, group communication, and replication. Permission of department required. Typically offered Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 51000 - Software Engineering
Credit Hours: 3.00. Software life cycles, requirements engineering, software design, design of distributed systems, verification and validation, software architecture, process metrics and models, and research methods in software engineering. Typically offered Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture, Practice Study Observation

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette Continuing Ed
      West Lafayette


CS 51400 - Numerical Analysis
Credit Hours: 3.00. (MA 51400) Iterative methods for solving nonlinear equations; linear difference equations, applications to solution of polynomial equations; differentiation and integration formulas; numerical solution of ordinary differential equations; roundoff error bounds. Typically offered Fall.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      PU Fort Wayne
      Calumet
      West Lafayette


CS 51500 - Numerical Linear Algebra
Credit Hours: 3.00. Direct and iterative solvers of dense and sparse linear systems of equations, numerical schemes for handling symmetric algebraic eigenvalue problems, and the singular-value decomposition and its applications in linear least squares problems. Typically offered Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      Calumet
      West Lafayette


CS 51501 - Parallelism In Numerical Linear Algebra
Credit Hours: 3.00. This course examines both theoretical and practical aspects of numerical algorithm design and implementation on parallel computing platforms. In particular, it provides an understanding of the tradeoff between arithmetic complexity and management of hierarchical memory structures, roundoff characteristics if different from the sequential schemes, and performance evaluation and enhancement. Applications are derived from a variety of computational science and engineering areas. Typically offered Fall Spring.
3.000 Credit hours

Syllabus Available
Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette

Learning Objectives: The students will (a) become quite knowledgeable in handling these parallel numerical linear algebra algorithms that arise in computational science and engineering, (b) acquire problem-solving skills in this field, and (c) through written and oral presentations of their projects will be able to clearly communicate their solution strategies and the performance realized on parallel computing platforms.


CS 52000 - Computational Methods In Optimization
Credit Hours: 3.00. A treatment of numerical algorithms and software for optimization problems with a secondary emphasis on linear and nonlinear systems of equations: unconstrained and constrained optimization; line search methods; trust region methods; Quasi-Newton methods; linear programming; calculating derivatives; quadratic programming; global optimization, including simulated annealing. Typically offered Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      PU Fort Wayne
      West Lafayette


CS 52500 - Parallel Computing
Credit Hours: 3.00. Parallel computing for science and engineering applications: parallel programming and performance evaluation, parallel libraries and problem-solving environments, models of parallel computing and run-time support systems, and selected applications. Typically offered Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette Continuing Ed
      West Lafayette


CS 52600 - Information Security
Credit Hours: 3.00. (CSCI 52600) Basic notions of confidentiality, integrity, availability; authentication models; protection models; security kernels; secure programming; audit; intrusion detection and response; operational security issues; physical security issues; personnel security; policy formation and enforcement; access controls; information flow; legal and social issues; identification and authentication in local and distributed systems; classification and trust modeling; and risk assessment. Typically offered Fall.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 53000 - Introduction To Scientific Visualization
Credit Hours: 3.00. Teaches the fundamentals of scientific visualization and prepares students to apply these techniques in fields such as astronomy, biology, chemistry, engineering, and physics. Emphasis is on the representation of scalar, vector, and tensor fields; data sampling and resampling; and reconstruction using multivariate finite elements (surfaces, volumes, and surfaces on surfaces). Typically offered Fall.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 53100 - Computational Geometry
Credit Hours: 3.00. Computational geometry studies how to compute with and reason about geometric objects. The subject is playing an increasingly important role in computer graphics, game software, geometric modeling, geographic information systems, and many other applications. Course topics include convex hull, segment manipulations, triangulations, range searching, Voronoi diagrams, window queries, Delaunay triangulation, and duality. Some key algorithms are implemented. Questions of floating-point accuracy and robust algorithm design are considered throughout the course. Typically offered Fall Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 53500 - Interactive Computer Graphics
Credit Hours: 3.00. (ME 57300) The principles of computer graphics and interactive graphical methods for problem solving. Emphasis placed on both development and use of graphical tools for various display devices. Several classes of graphics hardware considered in detail. Topics include pen plotting, storage tubes, refresh, dynamic techniques, three dimensions, color, modeling of geometry, and hidden surface removal. Part of the laboratory involves use of an interactive minicomputer graphics system. Knowledge of programming required. Typically offered Fall.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 53600 - Data Communication And Computer Networks
Credit Hours: 3.00. Data communications: communication hardware technologies including local area and longhaul network hardware, circuit and packet switching, interfaces between computer and network hardware, and performance issues. Network architecture: protocol software and conceptual layering, reliable delivery over an unreliable channel, transport protocols, virtual circuits, datagrams, internetworking as a fundamental design concept, the client-server paradigm, naming and name binding, name servers, addressing and address resolution, routing and routing algorithms, congestion and flow control techniques, network file systems, distribution of computation, and DARPA internet protocols (TCP/IP) as examples of protocol organization. Typically offered Fall.
0.000 OR 3.000 Credit hours

Syllabus Available
Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture, Practice Study Observation

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette Continuing Ed
      West Lafayette

Learning Objectives: 1. Network services and applications, including DNS and HTTP . 2. The socket API . 3. Network transport architectures, TCP, UDP and TCP congestion control. 4. Routing and forwarding, intra-domain and inter-domain routing algorithms.


CS 54100 - Database Systems
Credit Hours: 3.00. Fundamentals for the logical design of database systems. The entity-relationship model, semantic model, relational model, hierarchical model, network model. Implementations of the models. Design theory for relational databases. Design of query languages and the use of semantics for query optimization. Design and verification of integrity assertions, and security. Introduction to intelligent query processing and database machines. Typically offered Fall.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 54200 - Distributed Database Systems
Credit Hours: 3.00. Fundamental issues in distributed database systems that are motivated by the computer networking and distribution of processors and databases. The theory, design, specification, implementation, and performance of distributed database systems. Typically offered Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 54300 - Introduction To Simulation And Modeling Of Computer Systems
Credit Hours: 3.00. Simulation: discrete event simulation, process oriented simulation, generating random numbers, simulation languages, simulation examples of complex systems. Nondeterministic models: random variables, Poisson process, moment generating functions, statistical inference and data analysis. Modeling: elementary queuing models, networks of queues, applications to performance evaluation of computer systems. Typically offered Fall.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      PU Fort Wayne
      West Lafayette


CS 54701 - Information Retrieval
Credit Hours: 3.00. Basic principles and practical algorithms used for information retrieval and text mining: statistical characteristics of text, several important retrieval models, text categorization, recommendation system, clustering, federated text search, link analysis, etc. Typically offered Fall Spring.
3.000 Credit hours

Syllabus Available
Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette

Learning Objectives: 1. Learn the theories and techniques behind Web search engines, E-commerce recommendation systems, etc. 2. Get hands on project experience by developing real-world applications, such as intelligent tools for improving search accuracy from user feedback, email spam detection, recommendation system, or scientific literature organization and mining. 3. Learn tools and techniques to do cutting-edge research in the area of information retrieval or text mining.


CS 55500 - Cryptography
Credit Hours: 3.00. (CSCI 55500) Concepts and principles of cryptography and data security. Cryptography (secret codes): principles of secrecy systems; classical cryptographic systems, including Vigenere and Vernam ciphers; the Data Encryption Standard (DES); public-key encryption; privacy-enhanced email; digital signatures. Proprietary software protection; information theory and number theory; complexity bounds on encryption; key escrow; traffic analysis; attacks against encryption; basic legal issues; e-commerce; and the role of protocols. Typically offered Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 56500 - Programming Languages
Credit Hours: 3.00. An exploration of modern or unconventional concepts of programming languages, their semantics, and their implementations; abstract data types; axiomatic semantics using Hoare's logic and Dijkstra's predicate transformers; denotational semantics; functional, object-oriented, and logic programming; concurrency and Owicki-Gries theory. Example languages include ML, Ada, Oberon, LISP, PROLOG, and CSP. Typically offered Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 56900 - Introduction To Robotic Systems
Credit Hours: 3.00. (ECE 56900) The topics to be covered include: basic components of robotic systems; selection of coordinate frames; homogeneous transformations; solutions to kinematic equations; velocity and force/torque relations; manipulator dynamics in Lagrange's formulation; digital simulation of manipulator motion; motion planning; obstacle avoidance; controller design using the computed torque method; and classical controllers for manipulators. Typically offered Fall.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 57300 - Data Mining
Credit Hours: 3.00. (CSCI 57300) Data Mining has emerged at the confluence of artificial intelligence, statistics, and databases as a technique for automatically discovering summary knowledge in large datasets. This course introduces students to the process and main techniques in data mining, including classification, clustering, and pattern mining approaches. Data mining systems and applications are also covered, along with selected topics in current research. Offered in alternate years. Typically offered Fall.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science


May be offered at any of the following campuses:     
      West Lafayette

CS 57800 - Statistical Machine Learning
Credit Hours: 3.00. This introductory course will cover many concepts, models, and algorithms in machine learning. Topics include classical supervised learning (e.g., regression and classification), unsupervised learning (e.g., principle component analysis and K-means), and recent development in the machine learning field such as variational Bayes, expectation propagation, and Gaussian processes. While this course will give students the basic ideas and intuition behind modern machine learning methods, the underlying theme in the course is probabilistic inference. Typically offered Fall.
3.000 Credit hours

Syllabus Available
Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette

Repeatable for Additional Credit: Yes - May be repeated up to 2 times

Learning Objectives: 1. Have students prepared to either conduct PhD research in the machine learning area or apply it to other application domain, such as computational biology, materials science and social science.


CS 57900 - Bioinformatics Algorithms
Credit Hours: 3.00. Review of Genomes, DNA, RNA, proteins, proteomes. Biological Sequences: dynamic programming; pairwise global, local, and semi-global alignments of genes and proteins; constant, affine, and general gap penalties; RNA alignments; BLOSUM and PAM scoring matrices. Multiple alignment of proteins: approximation algorithms; iterative and progressive alignment methods. Database search for sequences: BLAST and variants. Phylogentic Trees: distance-based methods, ultrametric and additive distance functions; parsimony, and maximum likelihood methods. Whole Genome Alignment: suffix trees and suffix arrays. Systems Biology: Module discovery in biological networks, spectral algorithms for graph clustering. Network alignment: quadratic programming formulations and graph matching. Genetic Variation: haplotype inference, the perfect phylogeny problem and chordal graphs. Additional topics such as next-generation sequencing, analysis of multidimensional data from flow cytometry, and gene expression data, if time permits. Typically offered Fall.
3.000 Credit hours

Syllabus Available
Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette

Learning Objectives: 1. Students will learn how to design algorithms. 2. Students will learn how to solve computational problems from the new biology, the data-rich field that biological sciences is becoming.


CS 58000 - Algorithm Design, Analysis, And Implementation
Credit Hours: 3.00. Basic techniques for designing and analyzing algorithms: dynamic programming, divide and conquer, balancing. Upper and lower bounds on time and space costs, worst case and expected cost measures. A selection of applications such as disjoint set union/find, graph algorithms, search trees, pattern matching. The polynomial complexity classes P, NP, and co-NP; intractable problems. Typically offered Fall Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Distance Learning, Lecture
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette Continuing Ed
      PU Fort Wayne
      West Lafayette


CS 58400 - Theory Of Computation And Computational Complexity
Credit Hours: 3.00. The theory of general purpose programming systems. Recursive and partial-recursive functions; recursive and recursively enumerable sets. The Church-Turing thesis. The recursion theorem, Rogers' translation theorem, Rice's undecidability theorem. The general theory of computational complexity: there are no general solutions to natural optimization problems. Complexity for specific models of computation: the polynomial complexity classes P, NP, and PSPACE; NP-hard and PSPACE-hard problems, inherently exponential problems. Typically offered Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division

May be offered at any of the following campuses:     
      West Lafayette


CS 59000 - Topics In Computer Sciences
Credit Hours: 1.00 to 5.00. Directed study for students who wish to undertake individual reading and study on approved topics. Permission of instructor required. Typically offered Fall Spring.
1.000 TO 5.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Individual Study, Lecture
All Sections for this Course

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division, Variable Title

May be offered at any of the following campuses:     
      West Lafayette Continuing Ed
      PU Fort Wayne
      Calumet
      West Lafayette

Repeatable for Additional Credit: Yes - May be repeated an unlimited number of times


CS 59100 - Seminar
Credit Hours: 1.00. A weekly seminar presented by faculty and invited speakers, normally in a specific area. Typically offered Fall Spring.
1.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Upper Division, Variable Title

May be offered at any of the following campuses:     
      West Lafayette

Repeatable for Additional Credit: Yes - May be repeated an unlimited number of times


CS 60300 - Advanced Topics In Distributed Systems
Credit Hours: 3.00. (CSCI 60300) Design and control of distributed computing systems (operating systems and database systems). Topics include principles of naming and location, atomicity, resource sharing, concurrency control and other synchronization, deadlock detection and avoidance, security, distributed data access and control, integration of operating systems and computer networks, distributed systems design, consistency control, and fault tolerance. Prerequisite: CS 50300, 54200. Typically offered Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science


May be offered at any of the following campuses:     
      West Lafayette

CS 61400 - Numerical Solution Of Ordinary Differential Equations
Credit Hours: 3.00. Numerical solution of initial-value problems by Runge-Kutta methods, general one-step methods, and multistep methods; analysis of truncation error, discretization error, and rounding error; stability of multistep methods; numerical solution of boundary- and eigen-value problems by initial-value techniques and finite difference methods. Prerequisite: CS 51400. Typically offered Fall.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science


May be offered at any of the following campuses:     
      West Lafayette

CS 61500 - Numerical Methods For Partial Differential Equations I
Credit Hours: 3.00. (MA 61500) Finite element method for elliptic partial differential equations; weak formulation; finite-dimensional approximations; error bounds; algorithmic issues; solving sparse linear systems; finite element method for parabolic partial differential equations; backward difference and Crank-Nicolson time-stepping; introduction to finite difference methods for elliptic, parabolic, and hyperbolic equations; stability, consistency, and convergence; discrete maximum principles. Prerequisite: CS 51400, MA 52300. Typically offered Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science


May be offered at any of the following campuses:     
      West Lafayette

CS 62600 - Advanced Information Assurance
Credit Hours: 3.00. Advanced topics in information assurance, including selections from the following: penetration testing, formal verification of systems, formal models of information flow and protection, distributed system authentication, protocol design and attack, computer viruses and malware, intrusion and anomaly detection models, multi-level security, active defenses, investigation and forensics, network firewalls, anonymity and identity, e-commerce support, and database security models and mechanisms. Offered every third semester. Prerequisite: CS 52600, 55500. Typically offered Fall Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science


May be offered at any of the following campuses:     
      West Lafayette

CS 63500 - Capturing And Rendering Real-World Scenes
Credit Hours: 3.00. Advanced techniques for automated modeling and visualization of complex environments, such as rooms, buildings, urban scenes, and landscapes. Topics covered are at the confluence of computer graphics, computer vision and engineering, and include: capture technologies, acquisition device calibration, view registration, panoramic images, 3D reconstruction from images, view morphing, 3D image warping, lightfield modeling and rendering, visual hulls, point-based modeling and rendering, view dependent texture mapping, and application development issues and examples. Prerequisite: CS 58000, CS 53500 or a solid foundation in computer graphics, programming proficiency in C or C++ and basic linear algebra. Typically offered Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science


May be offered at any of the following campuses:     
      West Lafayette

CS 63600 - Internetworking
Credit Hours: 3.00. Principles of Internetwork architecture and communication protocols underlying interoperable systems. Topics include universal interconnection, Internet addressing and routing, address binding, control of Internet congestion and flow, examples of Internet protocol suites (TCP/IP and XNS), round trip time estimation, naming and name resolution, Internet applications programs, and the ISO/OSI model. Prerequisite: CS 50300. Typically offered Fall.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture, Practice Study Observation

Offered By: College of Science
Department: Computer Science


May be offered at any of the following campuses:     
      West Lafayette

CS 63800 - Multimedia Networking And Operating Systems
Credit Hours: 3.00. For graduate students in computer sciences who have a background in networking and operating systems and are interested in research in networked multimedia systems. The course consists of a selection of networking and operating system topics for realizing high performance, predictable, scalable, flexible, and secure multimedia systems. Topics may vary to reflect timely research issues and the current interests of the instructor(s). Students are expected to complete a term project. Presentations also may be required. Undergraduate background in computer science required. Prerequisite: CS 53600 or 50300. Typically offered Fall Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science


May be offered at any of the following campuses:     
      West Lafayette

CS 64100 - Multimedia Database Systems
Credit Hours: 3.00. Prepares students for research in multimedia database systems. Students are exposed to a variety of emerging innovative techniques to store, manipulate, communicate, visualize, and reason with multimedia systems. Prerequisite: CS 54100 or 54200. Typically offered Fall Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science


May be offered at any of the following campuses:     
      West Lafayette

CS 65500 - Advanced Cryptology
Credit Hours: 3.00. Advanced topics in cryptography and cryptanalysis, including selections from the following: Steganographic methods, Cryptanalytic techniques, including differential cryptanalysis, and chosen plaintext attacks. Message digest algorithm construction. Digital cash. Quantum cryptography. N-key systems. Minimal and zero-knowledge systems. Protocol design and failure. Verification of algorithms. Key generation and management. Traffic analysis. VPN construction and operation. Politics, espionage, and law enforcement concerns. Offered every third semester. Prerequisite: CS 52600, 55500. Typically offered Fall Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science


May be offered at any of the following campuses:     
      West Lafayette

CS 66100 - Formal Compiling Methods
Credit Hours: 3.00. Application of concepts developed in formal language and automata theory to the design of programming languages and their processors. Models of syntactic analysis, including canonical precedence, LR(k) and LL(k) parsing methods and variants; efficiency of each. Synthesis techniques, including symbol tables, storage administration, parameter mechanisms, garbage collection; optimization considerations. Models of synthesis, including level, affix, attributed grammars; prospects of fully automating compiler design. Applicative vs. procedural languages and their implementations based on semantic definition of a language (LISP, Lucid) and on proof-like techniques (PROLOG, equational systems); merits of such approaches. Prerequisite: CS 50200. Typically offered Spring.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science


May be offered at any of the following campuses:     
      West Lafayette

CS 66200 - Pattern Recognition And Decision-Making Processes
Credit Hours: 3.00. (ECE 66200) Introduction to the basic concepts and various approaches of pattern recognition and decision-making processes. Topics include various classifier designs, evaluation of classifiability, learning machines, feature extraction, and modeling. Prerequisite: ECE 30200. Typically offered Fall.
3.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Lecture

Offered By: College of Science
Department: Computer Science


May be offered at any of the following campuses:     
      West Lafayette

CS 69000 - Seminar On Topics In Computer Sciences
Credit Hours: 0.00 to 5.00. Topics vary. Permission of instructor required. Typically offered Fall Spring Summer.
0.000 TO 5.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Individual Study, Lecture

Offered By: College of Science
Department: Computer Science

Course Attributes:
Variable Title

May be offered at any of the following campuses:     
      West Lafayette

Repeatable for Additional Credit: Yes - May be repeated an unlimited number of times


CS 69800 - Research MS Thesis
Credit Hours: 1.00 to 18.00. Research MS Thesis. Permission of instructor required. Typically offered Fall Spring Summer.
1.000 TO 18.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Research

Offered By: College of Science
Department: Computer Science


May be offered at any of the following campuses:     
      West Lafayette

Repeatable for Additional Credit: Yes - May be repeated an unlimited number of times

CS 69900 - Research PhD Thesis
Credit Hours: 1.00 to 18.00. Research PhD Thesis. Permission of instructor required. Typically offered Fall Spring Summer.
1.000 TO 18.000 Credit hours

Levels: Graduate, Professional, Undergraduate
Schedule Types: Research

Offered By: College of Science
Department: Computer Science


May be offered at any of the following campuses:     
      West Lafayette

Repeatable for Additional Credit: Yes - May be repeated an unlimited number of times


Return to Previous New Search XML Extract
Transparent Image
Skip to top of page

Having trouble? Self Help Knowledgebase | For assisted support: itap@purdue.edu or 765-494-4000
Purdue University is an equal access/equal opportunity university. If you have trouble accessing
this page because of a disability, please contact ITaP Customer Service at itap@purdue.edu.

Release: 8.5.4