- Jump to level:
CS 110 Introduction to Internet Programming and Applications 3
Examination of physical infrastructure of local and wide area networks, internet protocol implementation, world-wide web interface programming, interactive Java applet, and Visual Basic web programming. Skill Area II
CS 113 Introduction to Computers 3
Introduction to computer programming together with the consideration of the impact of computers on society. Emphasis on logical problem-solving and algorithms. No credit given to students with credit for CS 151, 213 or MATH 446, 471. Skill Area II
CS 115 Workshop in Computer Science 3
Prereq.: MATH 099 or placement test. Topics vary and include application-oriented languages, computer literacy-oriented software packages, and human-computer interface procedures. Skill Area IV
CS 151 Computer Science I 3
Prereq.: MATH 152 (may be taken concurrently) or placement test. First course in Computer Science. Introduces the fundamental concepts of computer programming with an object-oriented language with an emphasis on analysis and design. Topics include data types, selection and iteration, instance variables and methods, arrays, files, and the mechanics of running, testing and debugging. Skill Area II
CS 152 Computer Science II 3
Prereq.: CS 151 and MATH 152. Further topics in object-oriented programming: enhancing classes (inheritance, polymorphism) and using Application Programmer Interface. Event-driven programming. Elementary searching and sorting techniques. Introduction to software engineering issues. Recursion.
CS 153 Computer Science III 3
Prereq.: CS 152. Fundamental data structures: linked lists, stacks, queues. Introduction to binary search trees. Advanced sorting: quick and merge sorts. Study of a second programming language. Alternative implementations of linked lists. Basics of algorithmic analysis.
CS 207 Introduction to Computer Graphics 3
Prereq.: ART 110, 112 or 113 and either MATH 099 or placement test. This course will use the computer facilities to produce abstract designs and images, with special emphasis on color forms, shapes, texture, and basic design. Spring. Skill Area II
CS 210 Computing and Culture 3
Evolution of computing from early data processing to global networking. Examination of how society has accepted and transformed role of digital technology within its cultures and institutions. Emphasis on human-computer interaction, electronic communities, and examples of their applications. Online resources will be used. Skill Area IV
CS 213 Applications of Computing I 3
Prereq.: MATH 115 or MATH 116 or 119 or 125 or placement examination. Focuses on the use of programming techniques to solve problems encountered in the areas of mathematics, life science, physical science, engineering, education, and social science. No credit given to students with credit for CS 151. Skill Area II
CS 214 Applications of Computing II 3
Advanced topics in object-oriented programming. Event-driven and recursive programming. Searching and sorting techniques. Introduction to software engineering issues. On demand. Skill Area II
CS 253 Data and File Structures 3
Prereq.: CS 152. A software design course which develops concepts and techniques for structuring and manipulating data, both in the computer and on external storage devices. Topics include a review of basic data structures, balanced tree structure, graphs, sequential and direct access files, external sorting. An introduction to data base systems is also provided.
CS 254 Computer Organization and Assembly Language Programming 3
Prereq.: CS 151 or MATH 471. Concepts of assembly language, machine language, macro-instructions, subroutines, program checkout, interrupt structure of assemblers, and use of operating system. No credit given to students with credit for MATH 472.
CS 290 Topics in Computer Science 1 TO 3
Prereq.: CS 151 or equivalent, and permission of instructor. This course will provide an opportunity to introduce into the curriculum elementary topics of current interest. May be repeated with different topics for up to 6 credits. Irregular.
CS 300 Computer Science Work Experience I 3
Prereq.: Permission of department. Students must go through Co-op office prior to receiving credit. A six-month employment experience relevant to the Computer Science program. No more than 6 credits of other course work may be taken concurrently.
CS 301 Computer Science Work Experience II 3
Prereq.: CS 300 and permission of department. Students must have a job which is different from their CS 300 job. Students must go through the Co-op office prior to receiving credit. A six-month employment experience relevant to the Computer Science program. No more than 6 credits of other course work may be taken concurrently.
CS 354 Digital Systems Design 3
Prereq.: CS 254 and MATH 218. PHYS 338 must be taken concurrently by those students whose program requires PHYS 338. An introduction to the analysis and design of digital systems in terms of logical and sequential networks. Various minimization techniques are studied.
CS 355 Introduction to Systems Programming 3
Prereq.: CS 153 and 254 Introduction to the design of systems software. Topics include comparative machine organizations, the design of assemblers and loaders, an introduction to operating systems and an introduction to compiler design.
CS 385 Computer Architecture 3
Prereq.: CS 354. The architecture of the computer is explored by studying its various levels: physical level, operating system level, conventional machine level and higher levels. An introduction to microprogramming and computer networking is provided. Spring.
CS 398 Independent Study in Computer Science 1 TO 3
Prereq.: CS 152 and 254. Special independent work to meet individual interest in areas not covered by regular curriculum. Work will be under the supervision of a faculty member and in an area and for an amount of credit agreed upon prior to registration for the course. On demand.
400-LEVEL CLASSES ARE FOR UNDERGRADUATE CREDIT ONLY, EXCEPT WHERE NOTED WITH "[GR]"
CS 407 Advanced Topics in Computer Science 1 TO 3
Prereq.: CS 152 and 254 and permission of instructor. This course provides an opportunity to introduce into the curriculum topics of interest and new courses on an experimental basis. May be repeated with different topics for up to 6 credits. [GR]
CS 410 Introduction to Software Engineering 3
Prereq.: CS 253. An examination of the software development process from the initial requirement analysis to the operation and maintenance of the final system. The scope of the course includes the organization of software development projects, the verification and validation of systems, the problems of security and privacy, and the legal aspects of software development, including software protection and software liability. Irregular. [GR]
CS 423 Computer Graphics 3
Prereq.: CS 253 or (for graduates) CS 501. Wire frame and solid graphics in two and three dimensions, data structure for computer graphics, geometrical transformations in computer graphics, raster, and vector display device technologies. Fall. [GR]
CS 425 Image Processing 3
Prereq.: CS 253. Theory and algorithms of image processing and their implementation in computer programs. Image representation, sampling theory, image transforms, image enhancement, texture analysis, feature extraction, and computer vision. Spring.
CS 460 Database Concepts 3
Prereq.: CS 253 or (for graduates) CS 501. Data base systems are considered from both the designer's and user's point of view. Physical implementation and data access techniques are studied. Irregular. [GR]
CS 462 Artificial Intelligence 3
Prereq.: CS 253 or (for graduates) CS 501. Presentation of artificial intelligence as a coherent body of ideas and methods to acquaint the student with the classic programs in the field and their underlying theory. Students will explore this through problem-solving paradigms, logic and theorem proving, language and image understanding, search and control methods, and learning. Spring. [GR]
CS 463 Algorithms 3
Prereq.: CS 253 or (for graduates) CS 501. Topics include algorithms in combinatorics, integer and real arithmetic, pattern matching, list processing, and artificial intelligence. Algorithmic analysis and domain-independent techniques are also considered. Irregular. [GR]
CS 464 Programming Languages 3
Prereq.: CS 253 or (for graduates) CS 501. Emphasis on programming languages as one of many tools in the software development effort. Comparison of different language usages of data types, information hiding, control structures, block structure, sub-programs, re-entrance, and recursion. Irregular. [GR]
CS 465 Compiler Design 3
Prereq.: CS 355. Current techniques of compiler writing. Introduction to formal grammar and parsing techniques is given. Problems of semantic phase are discussed and some solutions are given. Optimization techniques are discussed. Fall. [GR]
CS 473 Simulation Techniques 3
Prereq.: CS 152 or 213, and STAT 315. Basic principles of simulation methods using digital computers. Topics covered include random number generators, stochastic variate generators, computer models, and simulation languages. Irregular. [GR]
CS 481 Operating Systems Design 3
Prereq.: CS 253 or CS 501. Theory and design of computer operating systems. Topics include machine and interrupt structure, memory, processor, device, and information management. Spring. [GR]
CS 483 Theory of Computation 3
Prereq.: MATH 218 and CS 463. The concept of algorithm, correctness and efficiency of algorithm, decidable vs. undecidable problems, recursion, halting problem, formal languages, context free and context-sensitive grammars, and introduction to automata and parallel algorithms. Irregular. [GR]
CS 490 Computer Communications Networks & Distributed Processing 3
Prereq.: CS 253 and 254. Study of networks of interacting computers. The problems, rationale, and possible solution for both distributed processing and distributed data bases will be examined. Irregular. [GR]
CS 491 Wireless Communication Networks 3
Prereq.: CS 253 and CS 254. Theory and analysis of wireless and mobile computing, and wireless communication networks. Topics include wireless network architectures, mobile Internet protocols, mobility management algorithms, performance and optimization issues, and emerging technologies. Irregular.
CS 492 Computer Security 3
Prereq.: CS 253 and CS 254. The fundamentals of computer and network security issues are explored. Topics include classical and modern techniques of conventional encryption; algorithms; public-key encryption, and hash functions; network security, with regard to e-mail, IP, and the Web; and system security intruders, viruses, worms, and firewalls. Irregular.
CS 495 Legal, Social, Ethical, and Economic Issues in Computing 3
Prereq.: Permission of instructor. Topics include privacy, security, law of torts in computing, and legal protection of software. Spring. [GR]
CS 498 Senior Project 1 TO 3
Prereq.: Senior standing, 21 credits toward major including one advanced course. Opportunity for student to participate in design and implementation of large problem with small group of people. Problem will be chosen in consultation with instructor. [GR]
CS 499 Seminar in Computer Science 3
Opportunity for student to explore topics of current interest not covered in normal curriculum. Majors only. Irregular. [GR]
CS 500 Computer Science for Computer Information Technology 3
Prereq.: Permission of department chair or C.I.T. program coordinator. Concepts of computer science, including software analysis and design, inheritance, polymorphism, recursion, elementary sorting, and programming using arrays, sequential files, and linked lists.
CS 501 Foundations of Computer Science 3
Prereq.: CS 500 or CS 153 or permission of instructor. Software design for structuring and manipulating data. Topics include stacks, queues, hash tables, trees, graphs, advanced sorting, and analysis of algorithms.
CS 502 Computing and Communications Technology 3
Prereq.: Admission to the CIT program or permission of the program director. Comprehensive coverage of the concepts of computer networking, and computer architecture and organization required to enable students to understand and efficiently utilize computing and communication resources. Development of distributed computer applications. Spring.
CS 530 Advanced Software Engineering 3
Prereq.: CS 501, 502. Study of the software lifecycle including requirements analysis, specification, design, coding, testing, and maintenance. Includes proofs of correctness and techniques of formal specification. Spring. (O)
CS 550 Topics in Human-Computer Interaction 3
Prereq.: CS 501, 502. Study of the design, evaluation and implementation of interactive computing systems for the joint performances of tasks by humans and machines, algorithms and programming of the interface, and engineering concerns and design tradeoffs. Topics include computer-supported cooperative work, modeling intelligence, multimedia systems, and user interface design. Irregular.
CS 570 Topics in Artificial Intelligence 3
Prereq.: CS 501, 502. Topics include advanced techniques for symbolic processing, knowledge engineering, and building problem solvers. Irregular.
CS 580 Topics in Database Systems and Applications 3
Prereq.: CS 501, 502. Database technology needed to develop and manage sophisticated database systems. Topics include design of database management systems, advanced database applications, hypermedia, and object-oriented database management systems. Irregular.
CS 590 Topics in High Performance Computing and Communications 3
Prereq.: CS 481, 501, 502. Design, implementation, and evaluation of high performance computing and communications technologies for the development of distributed multimedia systems. Topics include distributed systems, parallel computing, modern operating systems, and network administration. Irregular.