Jun 25, 2024  
2016-2017 University Catalog 
    
2016-2017 University Catalog [ARCHIVED CATALOG]

Courses


The University Catalog lists all courses that pertain to the West Lafayette campus. In order to view courses that are available at a given time, and the details of such courses, please visit the myPurdue Schedule of Classes.

For a list of all course subject codes mapped to their full subject title, please see Course Subjects and Descriptions .

NOTE: To search for a group of courses within a number range (such as 30000 level), enter an asterisk to note the unspecified value in the course code or number field. For example, to search for all AAE courses at the 30000 level, enter 3* in the “Code or Number” box.

 

Computer Graphics Technology

  
  • CGT 49100 - Special Topics in Computer Graphics


    Credit Hours: 1.00 to 6.00. A variable title, variable content course pertaining to problems and research in graphical methods and representation. Permission of instructor required. Typically offered Fall Spring Summer.
  
  • CGT 49500 - Industrial Practice V


    Credit Hours: 1.00. Complete a computer graphics work experience as the fifth session of the Computer Graphics Technology Cooperative Education Program. The cooperation education certificate is awarded after completion of this session and is recorded on the student’s official transcript. For cooperative education program students only. Typically offered Fall Spring Summer.
  
  • CGT 50100 - Seminar In Computer Graphics Technology


    Credit Hours: 0.00 to 3.00. A variable topics course that addresses contemporary problems and issues related to M.S. students in Computer Graphics Technology. Permission of instructor required. Typically offered Fall Spring Summer.
  
  • CGT 51100 - The Development Of Graphics In Technology


    Credit Hours: 3.00. An introduction to the historical development of visual science in western civilization and its effect on computer graphics techniques and practices. Topics include the historical, contemporary, and future developments in computer graphics. Emphasizes the study of visual science and the significance of computer graphics as a communications medium. Typically offered Fall Spring Summer.
  
  • CGT 51200 - User Experience Design And Evaluation


    Credit Hours: 3.00. This course addresses the fundamental philosophy, processes, principles, and practices of user-centered design of computer systems humans interact with. Students learn how to design user experiences with computer systems by following the steps of user research, conceptual design, prototyping, and evaluation. Usability and interface design principles rooted in human perception and cognition provide the basis for evaluating design decisions. The course is platform-independent and encourages students to experiment with new and emerging technologies. No programming experience required. Typically offered Fall Spring Summer.
  
  • CGT 51300 - Interactive Multimedia Development And Research


    Credit Hours: 3.00. A survey of the interactive multimedia development process, knowledge base, and applications in business and industry. Particular attention is paid to research issues surrounding theoretical, technological, and interactive techniques, and validating those approaches through applied research. Emphasis is placed on the interdisciplinary nature of the development of new media tools. Typically offered Fall Spring Summer.
  
  • CGT 51400 - Product Lifecycle Management


    Credit Hours: 3.00. A survey of the graphical knowledge base with business and industry applications that support the product lifecycle management process is presented. Graphical applications used in the development of a product from an initial concept through its disposal are covered. Current and past application topics are reviewed in both theoretical and technological aspects and are validated through applied research. Emphasis is placed on the interdisciplinary nature of product lifecycle management through industrial case studies. Typically offered Fall.
  
  • CGT 51500 - Virtual Environments


    Credit Hours: 3.00. This course provides deep exposure to the most prominent and important research within the fields of virtual reality, games, and any application area where virtual environments are constructed or inhabited. Students will study experiential, cultural, and phenomenological aspects of habitation within virtual environments as well as become familiar with technical aspects involved in virtual environment creation. Students will generate original research data and analysis, prepare a publishable manuscript, and build their own virtual worlds as applicable. Typically offered Fall Spring.
  
  • CGT 51600 - Collaborative Virtual And Augmented Environments


    Credit Hours: 3.00. A study of the field of collaborative virtual and augmented environments in shared, multi-user, same-site and multi-site immersive environments. Students will gain knowledge in the following research areas: multi-user interaction, collaborative virtual and augmented environments, and latest software and hardware tools. In this collaborative environment, students not only interact within the same virtual environment but collaborate between physically different environments through distributed environments. Knowledge of 3D computer graphics fundamentals, openGL, and C/C++, or consent of instructor. Typically offered Spring.
  
  • CGT 51700 - Product Development Using Virtual Environments


    Credit Hours: 3.00. This course presents the concepts of product development using virtual reality and haptic devices in the development and manufacture of products. Students learn how this technology is currently being used in industry and anticipated technological advancements. Some of the major topic areas covered are: virtual reality technologies, product design and development processes, virtual environments and virtual prototyping, 3D modeling, design analysis and visualization, simulation visualization, multimodal user interface in virtual environments, and real-world applications of product development. Knowledge of 3D computer graphics fundamentals. Typically offered Spring.
  
  • CGT 51800 - Augmented Reality


    Credit Hours: 3.00. Augmented Reality, a form of presenting virtual information within a perspective of the real world. This course instructs students in the foundations, practice and use of AR (Augmented Reality) as well as the technology required to produce an AR visualization. The concepts covered in this class include: physical tracking systems, computer vision, image processing techniques, 3D virtual environment visualization and calibration, display systems for AR and usage of AR in multimedia & tech culture. Some experience in Unity 3D preferred. Typically offered Fall.
  
  • CGT 51900 - Projects In Graphics


    Credit Hours: 3.00. This course instructs students in current methods of conducting research on computer graphics and the content development process. Topics covered in the course include biofeedback, user experience, measurement and analysis, development pipelines, publication strategies and methodologies. LaTeX document preparation, simulation, and qualitative approaches to conducting research in the field of computer graphics. Typically offered Spring.
  
  • CGT 52000 - Computer Graphics Programming


    Credit Hours: 3.00. This course provides a working knowledge of computer graphics programming using OpenGL and C++. OpenGL is the platform independent industrial standard APL and the leading edge technology for computer graphics application design. It has been used in the gaming industry, as well as in research and for scientific visualizations. The course focuses on creating real-time and interactive applications and is structured into several blocks; OpenGL introduction, modeling, texturing, transformations, lighting, and interactive application design. Students will develop various applications through the course focusing different aspects of computer graphics programming. Typically offered Fall Spring Summer.
  
  • CGT 52100 - Advanced Real-Time Computer Graphics


    Credit Hours: 3.00. This course focuses on a working knowledge of real-time rendering and shaders using GPI. Students will learn how to program advanced computer graphics techniques and how to benefit from the existing graphics hardware in an efficient way. The main focus is on programming modern graphical processing units (GPUs) using the GLSL, CG and OpenGL. Students will learn what the data-flow programming model is, and how to write vertex, geometry, tessellation, and fragment shaders. Another output is using texturing and lighting on the low level of the GPU and the next step is to provide animations using vertex shaders. Advanced texturing techniques such as bump mapping or environment mapping will be explained. Permission of instructor required. Typically Fall Spring Summer.
  
  • CGT 54000 - Current Topics In 3D Animation


    Credit Hours: 3.00. This course addresses recent research and development in 3D animation. Permission of instructor required. Typically offered Spring.
  
  • CGT 57200 - Special Topics In Human-Centered Design And Development


    Credit Hours: 3.00. This course offers students the opportunity to explore current topics in human-centered design and development of systems with graphical user interfaces in-depth through readings, discussions, design projects and design critiques. Topics vary by semester. Possible offerings include Critical Design, Design for Behavior Change, Participatory Design, Design for Social Good, Service Design, Social Interaction Design. Typically offered Fall Spring Summer.
  
  • CGT 58100 - Workshop In Computer Graphics Technology


    Credit Hours: 0.00 to 8.00. Advanced study of technical and professional topics. Emphasis is on new developments relating to technical, operational, and training aspects of industry and technology education. Typically offered Summer Fall Spring.
  
  • CGT 59000 - Special Problems In Computer Graphics Technology


    Credit Hours: 1.00 to 6.00. Independent study of a special problem under the guidance of a member of the staff. Does not substitute for either M.S. thesis or M.S. project credit. Permission of instructor required. Typically offered Summer Fall Spring.
  
  • CGT 59800 - Directed MS Project


    Credit Hours: 1.00 to 3.00. A formal investigation of a particular problem under the guidance of the advisory committee. Not applicable to a thesis option plan of study. Enrollment during at least two consecutive terms for a total of three credits is required. Permission of instructor required. Typically offered Summer Fall Spring.
  
  • CGT 60000 - Spatial Ability Research And Assessment


    Credit Hours: 3.00. This course examines spatial ability research through the 20th century; examining the various contributions of psychometric, developmental, differential, and information processing researchers as it applies to computer graphics. Additionally, students examine the various assessment devices that have been used to assess spatial ability and teaching interventions for improving it. Students will develop a research brief based upon the literature reviewed in the course. Prerequisite: CGT 51100 . Typically offered Summer Fall Spring.
  
  • CGT 61000 - Visual Intelligence And Perception


    Credit Hours: 3.00. This course focuses on the fundamentals of perception and cognition relative to vision and its implications to the field of computer graphics technology and the creation of graphics. Students will examine the foundations of human perception of form, shape, color, and motion, developing an understanding of why and how humans perceive visual information. Permission of instructor required. Typically offered Fall Spring Summer.
  
  • CGT 61100 - Computer Graphics Production Pipeline And Project Management


    Credit Hours: 3.00. This course provides an examination of computer graphics project management principles coupled with production pipeline principles related to graphics. Students will be expected to (a) define the stages of a project, (b) demonstrate competency in managing projects, processes, and people, and (c) define a production pipeline for their area of study. Students will conduct an in-depth analysis of some aspect of a pipeline, perform assessment and/or a pilot research study, and propose methods of pipeline improvement relative to their area of study. Prerequisites: CGT 51100 . Typically offered Fall Spring Summer.
  
  • CGT 62000 - Graphics Processing Unit Computing


    Credit Hours: 3.00. This course provides a working knowledge of general-purpose graphics processing unit computing (GPGPU) using CUDA, OpenCL, and C++. OpenCL and CUDA are the platform independent industrial standard API and leading edge technology for GPGPU. The course focuses on utilizing, GPU for advanced tasks of scientific computing on parallelization of creating real-time and interactive applications and is structured into several blocks; parallel programming and synchronization tasks, GPU architecture, CUDA programming model, the OpenCL programming model. Permission of instructor required. Typically offered Fall Spring Summer.
  
  • CGT 62300 - Contemporary Problems In Computer Graphics


    Credit Hours: 3.00. This course provides students an opportunity to apply current methods of design and development to emerging topics in digital media. Students are instructed using an experiential learning model in which student teams lead development projects oriented around problem domains that are too new or narrow to have acquired a large center of gravity within the research literature. Typically offered Fall.
  
  • CGT 68100 - Workshop In Computer Graphics Technology


    Credit Hours: 0.00 to 6.00. This variable topics course focuses on advanced study of technical and professional research topics, primarily for doctoral students. Permission of instructor required. Typically offered Fall Spring Summer.
  
  • CGT 69000 - Research Projects In Computer Graphics Technology


    Credit Hours: 1.00 to 6.00. This course provides a means of independent study of a special problem under the guidance of a graduate faculty member who holds a terminal degree. It is assumed that projects in this course are research projects independent of one’s doctoral research. Although not required, it is likely that a major result of the course will be a conference or journal publication. This course does not substitute for dissertation research credit on the plan of study. Permission of instructor required. Typically offered Fall Spring Summer.
  
  • CGT 69800 - Research MS Thesis


    Credit Hours: 1.00 to 18.00. Research MS Thesis. Permission of instructor required. Typically offered Summer Fall Spring.

Computer Sciences

  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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, CS 15800  and CS 15900 . Not open to students with credit in CS 18100 or CS 24000 . Typically offered Fall Spring.
  
  • 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.
  
  • CS 18300 - Professional Practice I


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


    Credit Hours: 0.00. Professional Practice. Permission of instructor required. Typically offered Fall Spring Summer.
  
  • CS 19000 - Topics In Computer Sciences


    Credit Hours: 1.00 to 5.00. Topics vary. Permission of instructor required. Typically offered Fall Spring Summer.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • CS 28400 - Professional Practice III


    Credit Hours: 0.00. Professional Practice. Permission of instruction required. Typically offered Fall Spring Summer.
  
  • 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.
  
  • CS 29000 - Topics In Computer Sciences


    Credit Hours: 1.00 to 5.00. Topics vary. Permission of instructor required. Typically offered Summer Fall Spring.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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. CS 31400  is recommended. Typically offered Fall.
  
  • 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.
  
  • CS 35200 - Compilers: Principles And Practice


    Credit Hours: 3.00. Should not be taken concurrently with CS 35400 . 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • CS 38600 - Professional Practice IV


    Credit Hours: 0.00. Professional Practice. Permission of instructor required. Typically offered Fall Spring Summer.
  
  • CS 39000 - Topics In Computer Sciences


    Credit Hours: 1.00 to 5.00. Topics vary. Permission of instructor required. Typically offered Fall Spring Summer.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • CS 47800 - Introduction to Bioinformatics


    Credit Hours: 3.00. (BIOL 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.
  
  • 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.
  
  • CS 48700 - Professional Practice V


    Credit Hours: 0.00. Professional Practice. Permission of instructor required. Typically offered Fall Spring Summer.
  
  • 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.
  
  • 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.
  
  • CS 50010 - Foundational Principles Of Information Security


    Credit Hours: This course covers foundational principles relevant to information security including data structures, algorithm design, computational complexity, probability theory, number theory, and basics of cryptography. This course is restricted to CS graduate students. This course is required for students in the Master of Science in Computer Science Concentration in Information Security for Professionals Program. The course may not be used on the Plan of Study for any CS graduate students other than those in the Concentration in Information Security for Processionals program. Programming experience and computer science knowledge equivalent to that of a minor in CS. Incoming students are expected to have programming skills in at least one procedural programming languages, e.g., C,C++,Java, or Python. Typically offered Summer.
  
  • CS 50011 - Introduction To Systems For Information Security


    Credit Hours: 3.00. The course covers computer systems principles relevant to information security and it serves as a prerequisite for the later courses in the MS in IS program. The material includes features in the C/C++ programming languages for understanding security-critical software vulnerabilities, basic knowledge in computer architecture and assembly languages, knowledge of the compiling process, operating systems, networking, databases, and web applications relevant to information security. This course is restricted to CS graduate students. This course is required for students in the Master of Science in Computer Science Concentration in Information Security for Professionals Program. The course may not be used on the Plan of Study for any CS graduate students other than those in the Concentration in Information Security for Processionals program. Programming experience and computer science knowledge equivalent to that of a minor in CS. Incoming students are expected to have programming skills in at least one procedural programming languages, e.g., C,C++,Java, or Python. Typically offered Summer.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
  
  • 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.
 

Page: 1 <- Back 1018 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28Forward 10 -> 72