May 17, 2024  
2017-2018 Undergraduate Bulletin 
    
2017-2018 Undergraduate Bulletin

Course Descriptions


Course descriptions are listed in alphabetical order.

Standard information for each course includes the number, title, and credits (sometimes called credit hours or semester hours). For some courses, you will find information on the hours of class, laboratory, or studio for which the course is scheduled in each week of a regular semester; these weekly hours are expanded during summer sessions. Fees for courses are assessed on the basis of credits and other factors.

The course-numbering system generally suggests levels of difficulty and appropriateness. Courses at the 100 and 200 levels comprise introductory offerings and those are most commonly taken by freshmen and sophomores. Courses at the 300 and 400 levels are primarily for juniors and seniors. In some Purdue programs, undergraduates take courses at the 500 level, but generally courses numbered 500 and above are for graduate students.

Preparation for courses is indicated as follows:

P: indicates a prerequisite that must precede your enrollment in the course described. You may find one or more specific course numbers, the number of credits you should already have in a subject, a placement-test level, or other conditions.

C: indicates a corequisite that must be taken no later than the same semester in which you take the course described.

R: indicates a recommendation concerning conditions to be met for enrollment in the course.

When no subject code is shown for prerequisites, corequisites, and recommended courses, they are in the same subject area as the course being described. If you lack a prerequisite or corequisite, or if you wish to take a course numbered at a higher level than your present status, you should seek the department’s or instructor’s consent to enroll in the course.

V.T. means Variable Title and is shown for courses for which the title may be changed to specify the topic or other special focus of each offering.

Session indicators (fall, spring, summer) suggest the times at which courses are generally offered. Scheduling patterns may, however, vary.

IPFW reserves the right to add, withdraw, or change courses without notice.

 

 
  
  • CPET 19000 - Problem Solving with MATLAB


    A study of the principles and practice of problem solving using MATLAB. Topics include MATLAB basics, functions and variables, file input and output, user-defined functions and program design, complex data manipulation, graphical user interface, and technical problem-solving applications, etc. The students shall gain hands-on experience through several programming assignments and practice strategies for collaborative problem solving such as creating specifications, brainstorming, sketching an idea, solution evaluation, and solutions testing.

    Preparation for Course
    P: MA 15300 and ECET 11400 or CS 11400.

    Cr. 1-4.
  
  • CPET 21300 - Web-based Analysis and Design


    This course covers the concepts, processes, and tools used in analyzing and designing Web applications. Object-oriented methods and tools are utilized. Students develop Web-based user interfaces and prototypes.

    Preparation for Course
    P: ECET 26400 or CS 16000 or CS 33100.

    Cr. 3.
  
  • CPET 28100 - Networks Management


    A study of networks and issues in network planning, design, installation, and management. Topics include network components, standards and protocols, topologies, architectures, system hardware, design and network layout, wiring and installation, network operating systems, servers, connection and services for clients, security and system administration and management. Other topics may include network applications, performance tuning, disaster recovery, hybrid systems, virtual networks, VoIP, and network monitoring and management tools. Work will include experience in Windows and Linux. No Lab fees.

    Preparation for Course
    P: CPET 18100 or ITC 23000.

    Cr. 3.
    Hours
    Class 2, Lab 2.
  
  • CPET 29900 - Selected Computer Engineering Technology Subjects


    Repeatable up to six hours. Hours and subject matter to be arranged by staff. An individual design, special-topics course, sophomore-level research, and/or analytical project in any one of the following areas: computer-based technical problem solving, digital electronics, analog electronics systems, networking systems, computer programming, computer-based problem solving, embedded systems, and system integration.

    Preparation for Course
    P: Restricted to students enrolled in B.S. CPET degree program.

    Cr. 1-4.
    Hours
    Class 1-4, Lab. 3-9.
    Variable Title
    (V.T.)
  
  • CPET 35500 - Data Communications and Networking


    A survey of communication and networking techniques, protocols and standards. Topics include OSI model, TCP/IP protocols and applications, signals, encoding and modulation, transmission of data and interfaces, transmission media, multiplexing, error detection and correction, data link controls and protocols, switching techniques, and other popular network services.

    Preparation for Course
    P: ECET 20500 or ITC 22000.

    Cr. 4.
    Hours
    Class 3, Lab. 2 or 3,
    Session Indicators
    Typically offered Fall, Spring and Summer.
  
  • CPET 36400 - Networking Security


    This course examines the analysis, design, implementation, and management issues surrounding effective network security. The business, conceptual, and technological aspects of network security for computer networks. Topics include virus protection, firewalls, authentication, encryption, wireless security, security protocols, and network security policy development and fraud protection.

    Preparation for Course
    P: CPET 28100 or CPET 35500 or ECET 35500 or ITC 33000 or CPET 38400 or CS 37400 or equivalent.

    Cr. 3.
    Session Indicators
    Typically offered fall and spring
  
  • CPET 37500 - Microprocessor-Based Digital Systems


    A study of the microprocessor system bus; the architecture and interfacing of various processor, memory, and input-output devices; the instruction set; assembly language programming; and design of microprocessor-based digital network.

    Preparation for Course
    P: ECET 11400, ECET 11100.

    Cr. 3-4.
    Hours
    Class 3, Lab. 0-3,
  
  • CPET 38400 - Wide Area Network Design


    Credit by examination: none. This course explores wide area network (WAN) planning and design issues. Emphasis on WAN switching methods and technologies, protocols, and services, traffic engineering, and capacity planning design and tradeoffs. Representative case studies will be used. Other topics may include remote access technologies, access networks, backbone networks, enterprise WAN networks, remote monitoring tools and protocol analyzer, trends in WAN design and WAN integration.

    Preparation for Course
    P: CPET 28100 or CPET/ECET 35500 or CS 27400 or equivalent.

    Cr. 3.
  
  • CPET 41100 - Microcomputer Interfacing


    A study of microprocessor interfacing techniques and components required to assemble a typical microcomputer system. Emphasis on serial I/O and parallel I/O chips; peripheral interfacing: LED display, keyboard, CRT display, floppy disk, D/A’s, A/D’s, and stepping motor.

    Preparation for Course
    P: ECET 20500.

    Cr. 4.
    Hours
    Class 3, Lab. 2 or 3,
  
  • CPET 47000 - Technology Project Management


    Topics include project management concepts, project life cycle; project initiation, team building, planning, review, execution, and tracking and control; project-related issues, resource, cost, subcontractor control, and risk management; Web-based project management and collaboration, project management and integration tools. A portion of the course is devoted to case studies. Written reports and oral presentations required.

    Preparation for Course
    P: B.S. CPET senior class standing.

    Cr. 3.
  
  • CPET 47200 - Automatic Control Systems


    A study of network analysis using Laplace transforms, classical control systems theory, system stability and compensation, and topics on microprocessor-based control systems.

    Preparation for Course
    P: ECET 30700.

    Cr. 4.
    Hours
    Class 3, Lab. 2,
  
  • CPET 48600 - Robotics and Control Electronics with Microcomputers


    A study of robots, robotic sensors, robotic components, and controlling robots with microcomputers. Topics include sensor-based real-time robot control systems; interfacing the following types of sensors: proximity sensors, force sensors, motion sensors, sound sensors, and vision sensors; low-level data acquisition and communication, high-level communication, coordinate transformation, coordinated path generation, and robot motion programming.

    Preparation for Course
    P: ECET 11400, ECET 20500.

    Cr. 4.
    Hours
    Class 3, Lab. 2 or 3,
  
  • CPET 49000 - Senior Design Project I


    An extensive individual design and/or analytical project performed in consultation with one or more faculty advisors. Collaboration with representatives of industry, government agencies, or community institutions is encouraged. Evidence of extensive and thorough laboratory performance is required. Phase I includes, but is not limited to (1) faculty acceptance of project proposal, (2) defining and limiting project objectives, (3) initial research and source contacts, (4) project proposal management, (5) procurement of materials, and (6) periodic progress reports.

    Preparation for Course
    P: Senior class standing.

    Cr. 1.
    Notes
    Department permission required.
  
  • CPET 49100 - Senior Design Project II


    Phase II includes, but is not limited to (1) continued research and finalized design, (2) project management process, (3) project analysis, design, modeling and prototyping, and testing, (4) oral presentation to faculty and other interested parties, (5) standard-format written technical report.

    Preparation for Course
    P: CPET 49000.

    Cr. 2.
  
  • CPET 49300 - Wireless Networking


    This course covers both theoretical issues related to wireless networking and practical systems for both wireless data networks and cellular wireless telecommunication systems. Students will also work on a project that addresses some recent issues in wireless and mobile networking.

    Preparation for Course
    P: CPET 35500.

    Cr. 3.
    Hours
    Class 2, Lab. 2.
  
  • CPET 49400 - Java Programming Applications


    This course covers design and implementation of modern embedded, stand-alone, Web-based, and distributed Java applications. Topics include definition of classes and objects; Java basics, array and string classes; exceptions and debugging; graphics user interface; file I/O streams; Java multi-threading; Java applets and servlets; Java database connectivity; Java RMI (remote method invocation); Java native interface through C/C++; Java industrial and enterprise applications. Students develop application-oriented final projects.

    Preparation for Course
    P: ECET 26400, CS 16000, CS 33100, or equivalent, and junior standing.

    Cr. 4.
  
  • CPET 49500 - Web Engineering and Design


    An introduction to problems involved in analyzing and designing Web applications from small-scale, short-lived services, to large-scale enterprise applications distributed across the Internet and corporate intranets and extranets. Major topics include Web standard protocols and interfaces, Web security, Web engineering methodology, Web architectures and Web components (Web server, application servers or environments, the client, and persistent server). E-commerce infrastructures, database and Web integration, Web services standards and technologies, and Web-based application development.

    Preparation for Course
    P: ECET 26400, CS 16100, and junior standing, or CPET 49400.

    Cr. 4.
  
  • CPET 49900 - Computer Engineering Technology


    Hours and subject matter to be arranged by staff. Repeatable up to 12 credits. An extensive individual design, special topics course, research, and/or analytical project in any one of the following areas: networking operating systems, computer networking, distributed computing, client/server applications, wireless communications, wide area network design, network system management, computer and network security. Internet system programming and industrial applications of networking, control, and monitoring. Collaboration with representatives of industry, government agencies, or community institutions is encouraged.

    Preparation for Course
    P: approved by instructor.

    Cr. 1-4.
  
  • CPET 54500 - Service-Oriented Architecture and Enterprise Applications


    An intensive and comprehensive introduction to all essential aspects of the Service-Oriented Architecture (SOA) and enterprise applications, including modeling, methodologies, and processes, enabling technologies in support of integrated and collaborative enterprise computing applications. Topics include XML and Web service protocols, enterprise application and data integration issues, service-oriented  architecture, SOA analysis and design (SOAD), and enterprise SOA realization, SOA=driven project management, and case studies. Student participation in presenting technical papers from the recent literature, class discussion, and a team-based final project and presentation are expected.

    Preparation for Course
    P: B.S. degree in CS, EET, CPT, or EE, or senior/graduate standing and consent of instructor.

    Cr. 3.
    Dual Level Course
    Dual Level, Undergraduate-Graduate
  
  • CPET 56500 - Mobile Computing Systems


    An introduction of the system architecture, technologies, and applications of mobile computing. Topics covered include: mobile and wireless environment; mobile device technology; mobile computing architecture and protocols; mobile computing security; and applications in wireless and mobile computing, including distribution applications, mobile middle-ware, mobile information and database access, mobile multimedia, and remote execution. A combination of lectures, reading, presentation and reports, case studies, and group discussions is used.

    Preparation for Course
    P: B.S. degree in CS, EET, CPT, or EE, or senior/graduate standing and consent of instructor. Must be familiar with basic concepts in operating systems and networks.

    Cr. 3.
    Dual Level Course
    Dual Level, Undergraduate-Graduate
  
  • CPET 57500 - Management of Technology


    An introduction of the conceptual foundation of and the method for managing technology and innovation. Topics includes technology and society; technology development infrastructure; technology and strategy; technology competitive analysis, forecasting and assessment; techniques for dealing with risk, uncertainty and change; tools and best practices for technology lifecycle management; government, societal, and international issues. A combination of lectures, reading, presentation and reports, a variety of case studies, and group discussions is used.

    Preparation for Course
    P: B.S. degree in EET, CPT, or EE or senior/graduate standing and consent of instuctor.

    Cr. 3.
    Dual Level Course
    Dual Level, Undergraduate-Graduate
  
  • CPET 58100 - Workshop In Computer Engineering Technology


    Advanced study of technical and professional topics. Emphasis is on new developments relating to technical, operational, and training aspects of industry and technology education.

    Preparation for Course
    P: Admission by consent of instructor.

    Cr. 3.
    Dual Level Course
    Dual Level, Undergraduate-Graduate
  
  • CPET 59000 - Special Problems in IT and Advanced Computer Applications


    Independent study of a special problem under the guidance of a member of the staff (or, the student’s academic advisor). Does not substitute for either M.S. thesis or M.S. project credit.

    Cr. 1-6.
    Variable Title
    (V.T.)
    Dual Level Course
    Dual Level, Undergraduate-Graduate
  
  • CPET 59800 - Directed MS Project


    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.

    Cr. 1-3.
    Dual Level Course
    Dual Level, Undergraduate-Graduate
  
  • CPT 55500 - Advanced Network Security


    Advanced conceptual and technological aspects of network security for voice and data networks. Deals with the advanced analysis, design, implementation, and management issues surrounding effective network security. Technology research and presentation of results, as well as security technology implementation, are required course outcomes.

    Cr. 3.
    Dual Level Course
    Dual Level, Undergraduate-Graduate
  
  • CS 11200 - Survey of Computer Science


    This course is designed to provide a broad and realistic idea of what computer professionals do and how they do it. It will prepare students for later computing courses, including software development courses, by providing both individual and team hands-on lab experiences with Web design, markup languages (HTML) and JavaScript. Students will be introduced to various professional opportunities and work environments. Current topics in computer science as they relate to society will be covered. Students will gain sufficient programming experience to enable a smooth transition to CS 160 Java programming.

    Cr. 3.
  
  • CS 11400 - Introduction to Visual Basic


    This course provides an introduction to programming using the Visual Basic language and its integrated development environment. Topics to be covered include the syntax and structure of the VB language; controls, dialog boxes, and other interface tools; menu design; multiple forms; error-trapping; and arrays. Other topics that may be covered include object linking and embedding (OLE); VB for applications; database development using record sets and databound controls; data handling; grids; validation and election; drag and drop; and graphics, and new revisions for interoperability with other languages.

    Preparation for Course
    C: MA 14900 or 15300.

    Cr. 3.
  
  • CS 15500 - COBOL Programming


    Study of the COBOL programming language with emphasis on file organization and processing. Topics covered include data types, data definition, subprograms, and parameter passing. Emphasis on developing program structure and style.

    Preparation for Course
    P: CS 16100.

    Cr. 3.
  
  • CS 16000 - Introduction to Computer Science I


    An introduction to the fundamental concepts and techniques of Computer Science. Students will learn to program using an object-oriented language. They will learn how to translate a real problem into a program description, and how to write and test a program to implement their description. The emphasis will be on developing a professional style at an elementary level. CS 160 will carry syntax as far as interacting classes, arrays of one dimension, and simple file i/o. Students with no programming background should instead consider CS 112.

    Preparation for Course
    P: MA 15300.

    Cr. 4.
  
  • CS 16000 - Introduction to Computer Science I-Honors


    Equivalent of CS 160 for honors students. An introduction to computer concepts and the fundamentals of structured programming in a high-level language. Problem-solving techniques, specifications, stepwise refinement, programming style, structure charts and program documentation. Programming topics include data types, assignments, input/output, subprograms, selection, iteration, arrays, records, text files, and simple searching and sorting.

    Preparation for Course
    P: honors eligibility with an SAT math score of 600 or higher, placement into MA 16500, or consent of instructor.

    Cr. 4.
    Notes
    To register in an honors course, students must have Honors Program eligibility or instructor’s permission.
  
  • CS 16100 - Introduction to Computer Science II


    This course continues CS 160. Students will design larger programs to solve more complicated problems. The emphasis is on deepening students’ abilities to deal with abstraction, problem decomposition, and the interaction between program components. Students will develop their professional practice through analysis of more general problems, debugging and testing of their programs, and written presentation of their solutions. Topics include multidimensional arrays, event-driven programs, GUI’s, class inheritance and interfaces, and libraries.

    Preparation for Course
    P: CS16000; C: MA 17500.

    Cr. 4.
  
  • CS 17000 - C and Data Structures


    The course will introduce the C programming language including the language syntax, the programming environment, basic data types, complex data types (pointer, array, structures, bit fields, and unions), macros, i/o, and functions. Program development will emphasize modularization, data abstraction, and selection and analysis of algorithms. Other topics include recursion, files, linked lists, stacks, queues, and binary trees. Course projects are related to common engineering and computer science applications. Course will not count toward graduation in the computer science department.

    Preparation for Course
    P: CS 16000.

    Cr. 3.
  
  • CS 17200 - Introduction to C


    The course will introduce the C programming language including the language syntax, the programming environment, basic data types, complex data types (pointer, array, structures, bit fields, and unions), macros, i/o, and functions.

    Preparation for Course
    P: CS16000.

    Cr. 1.
  
  • CS 20300 - Advanced Visual Basic


    This course continues the study of Visual Basic begun in CS 114/ ECET 114. Topics to be covered include reading and writing of sequential and direct files; custom controls; advanced SQL; the creation of online help; object linking and embedding (OLE): calling DLL procedures (Windows API); class modules; and an introduction to ActiveX components. Student will learn the skills needed to create stand-alone and www-based Visual Basic applications for personal computer use. This course will provide guidance in preparing for the Microsoft Certified Systems Designer examination.

    Preparation for Course
    P: CS11400 or ECET 11400.

    Cr. 3.
  
  • CS 22700 - Introduction to C Programming


    Introduction to programming in C to solve engineering problems. Topics include primitive data types, control structures, standard input/output, file input/output, mathematic library, procedural programming, problem-solving, user-defined functions, arrays, and pointers.

    Preparation for Course
    P: ENGR 12800 or consent of instructor.

    Cr. 2.
    Session Indicators
    Typically offered Fall and Spring.
  
  • CS 22800 - Object Oriented Programming in C++


    This course will introduce the fundamentals of objected oriented programming in C++. Students should gain understanding of the implementation of inheritance, composition, method overloading and overriding, polymorphism, templates, and standard template library.

    Preparation for Course
    P: CS 22700 or ENGR 22100 or consent of instructor.

    Cr. 1.
  
  • CS 22900 - C/C++ Programming


    This course will introduce the programming in C and fundamentals of object-oriented programming in C++ to solve engineering problems. This course introduces the C programming language features in the beginning of the semester. Topics covered include data types, control structures, standard input/output, file input/output, mathematic library, problem-solving, functions, arrays, dynamic memory, and pointers. Then the course provides an introduction to object-oriented programming using C++ language. Students will gain understanding of data abstractions, classes, inheritance, composition, method overloading and overriding, generic programming, and standard template library. Students are expected to complete lab assignments and several programming assignments.

    Preparation for Course
    P: ENGR 12800 or consent of instructor.

    Cr. 4.
    Hours
    Class 3, Lab 1.
    Session Indicators
    Typically offered Fall and Spring.
  
  • CS 23200 - Introduction to C and Unix


    This course is an introduction to the C language and the Unix operating system. It presumes fluency in a high-level language. The course will focus on standard C and Unix tools, rather than a proprietary version of either. C topics include data types, the syntax for arithmetic, logical and relational functions, control functions, scope, communications with the shell, file i/o, pointers, arrays, structs, typedefs, macro and preprocessor functions, and the use of libraries and multiple source files. Unix topics include the file and directory structures, permissions, shells, standard tools such as history, sort, vi, grep, sed, tar, and make, and simple shell scripting.

    Preparation for Course
    P: CS 16100.

    Cr. 3.
  
  • CS 25600 - Applications Software Project


    Project course requiring implementation of an integrated application system from a structured design. Emphasis on structured development techniques and on system and user documentation. Other topics include indexed and relative file organization, JCL, Reportwriter, and introduction to information and business systems.

    Preparation for Course
    P: CS 15500, 16100, and ENG W234.

    Cr. 3.
  
  • CS 26000 - Data Structures


    This course is an introduction to the common data structures (ADT’s) of computer science and the algorithms which maintain and operate on them. These include arrays, stacks, queues, linked lists, trees, graphs, and more general structures like maps and dictionaries. The relevant algorithms include additions, deletions, sorts, searches, traversals, and others appropriate to the structure. The course includes an introduction to the prediction and testing of algorithm performance.

    Preparation for Course
    P: CS 1600 and MA 17500.

    Cr. 3.
  
  • CS 27000 - Assembly Language


    Computer hardware organization, the fetch-execute cycle, machine language, and data representation. Assembly language programming, addressing techniques, input/output, calling conventions, procedures and parameter passing, macros, and conditional assembly. Assembler concepts. Emphasis on the development of well-structured programs in assembly language.

    Preparation for Course
    P: CS 16000.

    Cr. 3.
  
  • CS 27100 - Computer Architecture


    Introduction to computer organization and architecture. Fundamentals of digital logic and representation of numeric and nonnumeric data. Assembly-level organization and programming, including instruction formats, addressing modes, and subprogram call/return. Design of main memory, cache memory, and virtual memory. Interrupt basics, interrupt-driven I/O, DMA, and bus protocols. Processor organization, data paths, the control unit, micriprogramming, pipelining, and performance enhancements. Multiprocessor and alternative architectures.

    Preparation for Course
    P: CS 16100 and MA 17500.

    Cr. 3.
  
  • CS 27400 - Data Communications


    A survey of data communication techniques. Topics include communications media, synchronous and asynchronous transmission, coding, error detection and correction, communications protocols and formats, modulation and demodulation, multiplexing and networking, and the OSI model with emphasis on the physical and data link layers.

    Preparation for Course
    P: CS 26000.

    Cr. 3.
  
  • CS 28000 - Survey of Information Technology


    An introduction to information technology development from a perspective using business fundamentals that relate to information systems and the analysis and design of those systems. Topics include competitive, strategic, and technological advantages; collaborative partnerships within e-business; decision making; and databases. Supply chain management, customer relationship management, enterprise resource planning, and other applications will be surveyed.

    Preparation for Course
    P: CS 11400 or 15500, BUS W100 or IET 10500.

    Cr. 3.
  
  • CS 29200 - Intermediate Topics in Computer Science


    Intermediate seminar addressing current topics or issues in computer science or information systems.

    Preparation for Course
    P: consent of instructor.

    Cr. 2-3.
    Variable Title
    (V.T.)
  
  • CS 29500 - Industrial Practicum


    Practical problems in local industry limited to about 10 to 20 hours per week for which the student may receive some remuneration. May be repeated but the total combined credit that may be applied to a degree is limited to 3. Open only to full-time students.

    Preparation for Course
    C: sophomore class standing.

    Cr. 1.
  
  • CS 30600 - Computers in Society


    Case study analysis of the social impacts of computerization and networking. Topics include computer ethics, crime, privacy, security, reliability, and vulnerability. Other topics include cyberphilia, cyberphobia, censorship, depersonalization, disenfranchisement, automated decision making, artificial intelligence, cognitive science, and ergonomics. Students present projects applying these issues to today’s environment.

    Preparation for Course
    C: junior class standing.

    Cr. 3.
  
  • CS 31000 - Topics In Computer Languages


    Study of data structures including two-dimensional arrays, pointer variables, linked lists, stacks, queues and trees. Brief introduction to other high-level programming languages. Algorithms for searching and sorting. Recursion. Not open to majors in the department of computer science.

    Cr. 3.
  
  • CS 32100 - Introduction to Computer Graphics


    This is an introductory course in computer graphics. This course introduces fundamental concepts of computer graphics technology and principles to create three-dimensional graphics. Fundamental graphics algorithms are discussed, as well as graphics programming, using a modern graphics standard. Students are expected to complete several programming assignments that implement fundamental computer graphics techniques in the Unix operating system environment.

    Preparation for Course
    P: CS 26000.

    Cr. 3.
  
  • CS 33100 - Introduction to C++ and Object-Oriented Programming


    An introduction to the C++ language with emphasis on features supporting object-oriented programming. Fundamental data type and operations. Expression evaluation. Selection and iteration constraints. Functions, procedures, and macro. Standard libraries. Classes: declaration and definition; instances; member functions; constructors and destructors; function overloading; inheritance and polymorphism. Stream input and output. Using classes to encapsulate date structure and implementation details.

    Preparation for Course
    P: CS 26000.

    Cr. 3.
  
  • CS 35000 - Programming Language Design


    A survey of language design issues and their implications for translation and run-time support. Examination of modern programming languages and features: Abstract data and control structures, procedures, parameter passing mechanisms, block structuring and scope rules, input/output, concurrent execution, and storage management. Models of run time behavior. Comparison of imperative and declarative programming languages.

    Preparation for Course
    P: CS 26000 and CS 27100.

    Cr. 3.
  
  • CS 36000 - Software Engineering


    An introduction to software engineering using an object-oriented approach. The software development process. Iterative and incremental development. Team organization aod project management. Object-oriented analysis and design. Representation of software models using UML: use cases, class and interaction diagram. Metrics for design evaluation. Software quality assurance. Testing planning and specification; unit and integration test methods. Software tools for analysis and design. Ethics and professionalism.

    Preparation for Course
    P: CS 26000 and ENG W234.

    Cr. 4.
    Session Indicators
    Typically offered Fall and Spring.
  
  • CS 36400 - Introduction to Database Systems


    Theory and application of database systems for information organization and retrieval based on the relational model. Includes database models, query languages, data dependencies, normal forms, and database design. Projects include use of commercial mainframe and microcomputer database software.

    Preparation for Course
    P: CS 26000.

    Cr. 3.
  
  • CS 36500 - Advanced Database Systems


    The first part of the course includes theory of SQL, implementation of some components of DBMS, and a comprehensive project. The second part of the course includes more advanced topics such as recovery; concurrency; and distributed, deductive, and knowledge databases.

    Preparation for Course
    P: CS 36400.

    Cr. 3.
  
  • CS 36600 - Structured Analysis Techniques


    Methods used in analyzing information systems. Topics include user interviewing and observation, event analysis, data flow diagrams, data dictionaries, minispecifications, decision trees, decision tables, and both logical and physical models. Students practice these techniques in a major structured analysis project resulting in a requirements specification document.

    Preparation for Course
    P: ENG W234 and CS 26000.

    Cr. 3.
  
  • CS 36700 - Structured Design Techniques


    Methods used in designing information systems. Topics include structure charts, module specifications, pseudocode, coupling, cohesion, transform analysis, transaction analysis, and user interface design. Includes the detailed design of an information system and the implementation of a prototype of that design.

    Preparation for Course
    P: CS 36600.

    Cr. 3.
  
  • CS 36800 - Human-Computer Interaction


    Introduction to general issues surrounding human-computer interaction (HCI). The course presents principles, design methodologies, tools, and evaluation techniques with an emphasis on human-centered interface design and implementation. Other issues covered include HCI aspects of multimedia systems, World Wide Web, computer-supported cooperative work, and recent paradigms of HCI.

    Preparation for Course
    P: CS 26000.

    Cr. 3.
  
  • CS 37000 - Systems Programming


    Design and operation of systems programs including assemblers, loaders, linkers and macroprocessors. Issues in language translation; expression evaluation, forward referencing, symbol table manipulation, data conversion and code generation. Lexical and syntactic analysis.

    Preparation for Course
    P: CS 26000 and CS 27100.

    Cr. 3.
  
  • CS 37200 - Web Application Development


    Introduction to Web application development. Characteristics of Web and application servers; Web engineering principles and application architectures; Web page construction; client and server-side scripting; database interaction; Web application deployment and management; security and performance issues; overview of application-layer protocols.

    Preparation for Course
    P: CS 27400.

    Cr. 3.
  
  • CS 37400 - Computer Networks


    The design and implementation of data communications networks. Topics include network topologies; message, circuit and packet switching; broadcast, satellite and local area networks; routing; the OSI model with emphasis on the network, transport, and session layers.

    Preparation for Course
    P: CS 27400.

    Cr. 3.
  
  • CS 37500 - Multimedia Networking


    This course is a survey of multimedia networks. Topics include multimedia information representation, text and image compression, audio and video compression, multimedia networking.

    Preparation for Course
    P: CS 27400.

    Cr. 3.
    Session Indicators
    Typically offered Fall, Spring and Summer.
  
  • CS 37600 - Advanced Computer Architecture


    A comparative study of computer systems and hardware organization. Topics include processor and memory organization, microprogramming, architectural support for operating systems and high-level languages, and I/O organization. Examples of representative architectures.

    Preparation for Course
    P: CS 27100.

    Cr. 3.
  
  • CS 38000 - Artificial Intelligence


    Fundamental concepts and techniques of artificial intelligence. Search techniques, including local search and constraint satisfaction. Knowledge representation concepts and methods of reasoning. Software agents, machine learning and neural networks, and AI planning systems.

    Preparation for Course
    P: CS 26000.

    Cr. 3.
  
  • CS 38400 - Numerical Analysis


    Iterative methods for solving nonlinear equations; direct and iterative methods for solving linear systems; interpolation and extrapolation; approximation of derivatives, integrals, and functions; numerical techniques for ordinary differential equations; error analysis. Use of mathematical subroutine libraries.

    Preparation for Course
    P: CS16000 and MA 166.

    Cr. 3.
  
  • CS 39500 - Industrial Practice I


    Practical problems in local industry limited to about 10-20 hours per week. May be repeated, but the total combined credit that may be applied to a degree is limited to 6. Open only to full-time students. Permission of the department is required.

    Preparation for Course
    P: Junior class standing.

    Cr. 0-3.
  
  • CS 42100 - Advanced Computer Graphics


    Advanced topics in computer graphics such as three-dimensional rendering, curve and surface design, antialiasing, animation, and visualization. Other topics will be selected depending on current research trends. Through development of projects, students will gain practical experience about modern computer graphics.

    Preparation for Course
    P: CS 32100.

    Cr. 3.
  
  • CS 44500 - Computer Security


    A survey of the fundamentals of computer security. Topics include risks and vulnerabilities, policy formation, controls and protection methods, survey of malicious logic, database security, encryption, authentication, intrusion detection, network and system security issues, personnel and physical security issues, security design principles, issues of law and privacy.

    Preparation for Course
    P: CS 26000.

    Cr. 3.
  
  • CS 46000 - Senior Capstone Project I


    The first course of a two-semester sequence. Student teams will participate in the development of a substantial application-oriented or research-oriented software project utilizing a formal software process model. Emphasis on teamwork, project management, and oral and written communication. Student teams will conduct review activities and develop artifacts appropriate for the software project and process model chosen.

    Preparation for Course
    P: CS 36000 and senior standing.

    Cr. 3.
    Session Indicators
    Typically offered Fall.
  
  • CS 46400 - Computer Systems Planning


    The planning and design of computer systems, including the formulation of corporate requirements, configuration of hardware to satisfy stated requirements, comparison and evaluation of equipment, installation considerations, and implementation procedures.

    Preparation for Course
    P: CS 36600.

    Cr. 3.
  
  • CS 46500 - Senior Capstone Project II


    The second course of a two-semester sequence. Student teams will complete the development of a substantial application-oriented or research-oriented software project begun in CS 46000. Emphasis on teamwork, project management, and oral and written communication. Student teams will conduct review activities and develop artifacts appropriate for the software project and process model chosen. Students will be required to conduct a final formal review and demonstration to project stakeholders and other interested persons.

    Preparation for Course
    P: CS 46000.

    Cr. 3.
    Session Indicators
    Typically offered Spring.
  
  • CS 46600 - Strategic Issues for Information Systems


    Topics in information systems management including strategic planning for competitive advantage, charge-back, systems portfolio risk analysis, security, and assimilating technology advances. Students develop an information systems strategic plan.

    Preparation for Course
    P: Senior standing either IS or CS and ENG W234.

    Cr. 3.
  
  • CS 46700 - Project Management


    Covers the techniques required to manage systems development. Topics include project proposal, planning, estimating, organizing, controlling, and completion. Students practice these techniques on a major project using project management software.

    Preparation for Course
    P: Senior standing either IS or CS andENG W234.

    Cr. 3.
  
  • CS 47200 - Operating Systems Design


    The design and implementation of modern multiprocessing operating systems. Topics include concurrent programming, real and virtual storage allocation, resource allocation and deadlock prevention and avoidance, job scheduling, and analytic modeling. Students will complete projects involving concurrency and implement a portion of a multiprocessing operating system.

    Preparation for Course
    P: CS 26000 and CS 27100.

    Cr. 3.
  
  • CS 47400 - Compiler Construction


    Techniques for the syntax-directed translation of modern high-level languages. Topics include grammars and language specification, language design issues, lexical analysis, LL and LR parsing techniques, semantics, symbol table design, code generation, and local optimization. Students are required to implement a compiler for a subset of a structured high-level language such as Pascal or Ada.

    Preparation for Course
    P: CS 35000.

    Cr. 3.
  
  • CS 48600 - Analysis of Algorithms


    Techniques for analyzing the time and space requirements of algorithms and problems. Application of these techniques to sorting, searching, pattern-matching, graph problems, and other selected problems. Brief introduction to the intractable (NP-hard) problems.

    Preparation for Course
    P: CS 26000 and MA 16600.

    Cr. 3.
  
  • CS 48800 - Theory of Computation


    Mathematical models of computation including finite and pushdown automata and Turing machines and equivalence of different general-purpose models. Grammars and their relation to automata, Church’s Thesis, and limits of computation.

    Preparation for Course
    P: CS 35000.

    Cr. 3.
  
  • CS 49200 - Topics in Computer Science


    Seminar addressing current topics or issues in computer science or information systems.

    Preparation for Course
    P: consent of instructor.

    Cr. 3.
  
  • CS 49400 - Directed Study


    Independent study for students who desire to execute a complete computer-oriented project. Course may be repeated for credit up to 6 hours toward graduation.

    Preparation for Course
    C: junior or senior class standing.

    Cr. 1-3.
  
  • CS 49500 - Cooperative Experience


    For Cooperative Education students only. Permission of the department required.

    Cr. 0-3.
  
  • CS 50300 - Operating Systems


    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 expedited to spend at least three hours per week gaining hands-on experience in using and modifying a small operating system.

    Cr. 3.
    Dual Level Course
    Undergraduate-Graduate
  
  • CS 51400 - Numerical Analysis


    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; round-off error bounds.

    Preparation for Course
    P: CS 38400 or equivalent.

    Cr. 3.
    Dual Level Course
    Dual Level, Undergraduate-Graduate
  
  • CS 52000 - Computational Methods in Analysis


    A treatment of numerical algorithms for solving classical problems in real analysis, with primary emphasis on linear and nonlinear systems of equations and on optimization problems; the writing, testing, and comparison of numerical software for solving such problems; a discussion of the characteristics of quality software for implementing these algorithms.

    Preparation for Course
    P: MA 35100 or MA 51100.

    Cr. 3.
    Dual Level Course
    Dual Level, Undergraduate-Graduate
  
  • CS 54300 - Introduction to Simulation and Modeling of Computer Systems


    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, network of queues, applications to performance evaluation of computer systems.

    Preparation for Course
    P: CS 26000 and STAT 51100 or consent of instructor.

    Cr. 3.
    Dual Level Course
    Dual Level, Undergraduate-Graduate
  
  • CS 54700 - Information Storage and Retrieval and Natural Language Processing


    Complex data structures: of fields within records, clustered, multilist, and inverted files; key decoding by tree and randomized techniques; overall techniques of classical document-retrieval systems, e.g., the MEDLARS and NASA systems; overall techniques of automatic document-retrieval systems, e.g., TIP and SMART, the internal structure of SMART; question-answering systems; natural-language translation.

    Cr. 3.
    Dual Level Course
    Dual Level, Undergraduate-Graduate
  
  • CS 57200 - Heuristic Problem Solving


    Design and development of heuristic problem-solving systems. The emphasis is on the development of general data representations, heuristics, and problem-solving strategies that can be applied to wide classes of problems. The task areas explored include game playing, theorem proving, pattern recognition, semantic information processing, cognitive psychology, design synthesis, robotology, and integrated artificial intelligence systems.

    Preparation for Course
    P: CS 26000 or consent of instructor.

    Cr. 3.
    Dual Level Course
    Dual Level, Undergraduate-Graduate
  
  • CS 58000 - Algorithm Design, Analysis, and Implementation


    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.

    Preparation for Course
    P: CS 48600 or consent of instructor.

    Cr. 3.
    Dual Level Course
    Dual Level, Undergraduate-Graduate
  
  • CS 59000 - Topics in Computer Science


    Selected topics in computer science.

    Cr. 3.
    Dual Level Course
    Dual Level, Undergraduate-Graduate
  
  • CSD 11500 - Introduction to Communicative Disorders


    Nature, symptoms, and causes of communicative disorders and the principal methods used for remediation.

    Cr. 3.
  
  • CSD 12600 - Communication Sciences And Disorders Resource Seminar


    Provides new CSD majors with an overview of the degree and related professions. Topics will include clinic confidentiality policies, campus resources, study strategies, writing standards in CSD, and career paths.

    Cr: 1.
    Session Indicators
    Typically offered Fall.
  
  • CSD 18100 - First Course in American Sign Language


    Basic manual communication skill including the American manual alphabet, approximately 550 basic signs, and the history and place of manual communication in society. Designed to give the students minimum vocabulary and skills in communicating with individuals who are dependent on this form of communication.

    Cr. 3.
  
  • CSD 18200 - Second Course in American Sign Language


    Development of conversational skills, vocabulary, and basic grammar of sign language.

    Preparation for Course
    P: CSD 18100 or AUS 18100 or equivalent.

    Cr. 3.
  
  • CSD 28300 - Intermediate American Sign Language III


    This course is the third semester of intermediate level American Sign Language. This course builds on skills in the first year of ASL courses to develop more complex ASL grammatical features, vocabulary, short stories, narratives and dialogues. Included is an awareness for and information related to Deaf culture and local Deaf community.

    Preparation for Course
    P: CSD 18200.

    Cr. 3.
  
  • CSD 28400 - Intermediate American Sign Language IV


    This course is a fourth semester of American Sign Language designed to continue the development of expressive and receptive skills in ASL. Specifically, more advanced syntax, grammar and vocabulary will be used to develop and comprehend lengthier narratives. A variety of ASL literature will be studied to enhance awareness and knowledge of the Deaf culture and local Deaf community.

    Preparation for Course
    P: CSD 28300 with a grade of C or better.

    Cr. 3.
  
  • CSD 30200 - Acoustic Bases of Speech and Hearing


    The physical characteristics of speech sounds and the psychophysical processes involved in hearing.

    Cr. 3.
  
  • CSD 30400 - Anatomy and Physiology of the Speech and Hearing Mechanism


    An introduction to the anatomical and physiological bases of normal and abnormal voice, articulation, and hearing. Lab includes demonstrations and exercises to support lecture materials. Restricted to CSD majors only, unless departmental permission granted.

    Preparation for Course
    P: BIOL 20300 or consent of instructor.

    Cr. 4.
    Hours
    Class 3, Lab. 2.
  
  • CSD 30600 - Introduction to Phonetics


    An introduction to articulatory phonetics, speech sounds in languages of the world, and principles and symbols of the International Phonetic Alphabet. Extensive practice in phonetic transcription.

    Cr. 3.
    Hours
    Class 3.
  
  • CSD 30900 - Language Development


    Specific nature, sequence, and pattern of oral language development from birth through adolescence. Nature of language acquisition and approaches to the study of children’s language are presented. Linguistic and psychological explanations of the sequence of development are discussed.

    Cr. 3.
  
  • CSD 32100 - Introduction to Phonological Disorders in Children


    An introduction to phonological and phonemic development and disorders of speech sounds in children. Basic methods of assessment and intervention for phonological errors are discussed.

    Preparation for Course
    P: CSD 11500 and 30600.

    Cr. 3.
  
  • CSD 39900 - Directed Study in Audiology and Speech Sciences


    Special projects such as directed readings, independent and/or cooperative research on professionally relevant topics under the guidance of an CSD faculty member.

    Cr. 1-3.
  
  • CSD 40500 - Augmentative and Computer Applications in Speech and Language


    An introductory overview with emphasis on potential application in assessment, treatment, research, and administrative functions related to communication disorders.

    Preparation for Course
    P: one disorders course (CSD 42000, 43000, 32100).

    Cr. 3
 

Page: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11Forward 10 -> 28