400

CS 422 Data Mining

Prerequisites: MATH 213 or MATH 112 or PSY 211 or ECMG 212, and Level III Mathematics Placement, and CS 200; or Permission of Instructor

Introduces basic principles and methods for data analysis and knowledge discovery to computer science students. Topics include preprocessing, association, classification, and anomaly detection. Students develop basic skills for modeling and performance evaluation.

Credits

3.0

Cross Listed Courses

Double-numbered course; offered with graduate-level CS 522

Offered

Fall Semester

CS 427 Data Science

Prerequisites: MATH 213 or MATH 112 or PSY 211 or ECMG 212, and Level III Mathematics Placement, and CS 200; or Permission of Instructor

This course provides an overview of Data Science, covering a broad selection of challenges and methodologies for working with big data. Topics to be covered include data collection, integration, management, modeling, analysis, visualization, prediction, and informed decision making. Students work on hands-on projects and case studies using real data sets from a variety of domains including science, business, engineering, social sciences, and life sciences.

Credits

3.0

Cross Listed Courses

Double-numbered course; offered with graduate-level CS 527

Offered

Spring Semester

CS 428 Artificial Intelligence

Prerequisite: Junior standing and CS 219 or permission of the instructor. History, fundamental principles, and future directions of A.I. Topics include state-space searching, knowledge representation, logic and deduction, natural language processing, neural networks, learning, vision, robotics, and cognitive science. Topics will be treated at a level of depth and detail appropriate for a first course in AI.

Credits

3.0

Cross Listed Courses

Double-numbered course; offered with graduate-level CS 528

Offered

Fall Semester

CS 443 Machine Learning

Prerequisites: MATH 213 or MATH 112 or PSY 211 or ECMG 212, and Level III Mathematics Placement, and CS 200; or Permission of Instructor

Introduction to the field of modeling learning with computers. Topics included are explorations of inductive learning, learning decision trees, ensemble learning, computational learning theory, and statistical learning methods.

Credits

3.0

Cross Listed Courses

Double-numbered course; offered with graduate-level CS 543

Offered

Spring Semester (Even Years)

CS 445 Robotics & Intelligence Systems

Prerequisites: Junior standing and CS 428 or permission of the instructor Comprehensive examination of the theory and practice behind robot-building and the deployment of intelligent systems. Topics are divided between robot architectures (control paradigms, kinematics, sensors, actuators and navigation) and cognitive robotics (learning, decision-making, coordination and cooperation).

Credits

3.0

Cross Listed Courses

Double-numbered course; offered with graduate-level CS 545

Offered

Spring Semester (Odd Years)

CS 450 Digital Logic and Switching Theory

Prerequisite: CS 226 or permission of the instructor. Introduction to combinational and sequential circuit design. Topics include Boolean algebra and simplification techniques, arithmetic circuits, decoders, flip-flops, counters, registers, memory systems, analog-to-digital conversion and VHDL programming.

Credits

3.0

Cross Listed Courses

Double-numbered course; offered with graduate-level CS 550

Offered

Spring Semester (Even Years)

CS 451 Digital Signal Processing

Prerequisite: CS 219 or Permission of Instructor. Digital Signal Processing (DSP) is concerned with the representation, transformation and manipulation of signals using computer technology. This course will introduce the basic concepts and techniques for processing discrete-time signals.

Credits

3.0

Cross Listed Courses

Double-numbered course; offered with graduate-level CS 551

Offered

Spring Semester (Odd Years)

CS 453 Data Communications & Networking

Prerequisites: CS 226Foundations of networking technology and understanding of challenges faced in design and architecture of Data networks. Topics include networking principles, Transmission, Control Protocol, Internet Protocol, data encoding/decoding techniques and wireless communication.

Credits

3.0

Offered

Spring Semester

CS 461 Computer Architecture

Prerequisites: CS 226 and CS 219 or permission of the instructor. An in-depth study of architectural concepts and principles including performance-based design tradeoffs. Topics to be covered include: instruction set design, arithmetic algorithms, hardwired and microprogrammed control, memory hierarchy design, input/output, pipelines, RISC, CISC, vector processors, parallel processors and superscalar machines.

Credits

3.0

Cross Listed Courses

Double-numbered course; offered with graduate-level CS 561

Offered

Fall Semester (Even Years)

CS 464 Operating Systems

Prerequisites: CS 226 and CS 219 or permission of the instructor. Fundamental principles of operating systems. Topics include: process management; concurrency; deadlock; CPU scheduling; memory management; disk management; files systems; security; and distributed, real-time and multiprocessor operating systems.

Credits

3.0

Offered

Spring Semester

CS 466 Parallel Computing

Prerequisites: Junior standing and CS 219 or permission of the instructor. A comprehensive introduction to both the principles and the practice of parallel computing. Topics to be covered include: programming and architectural models, parallel algorithms and parallelizing compilers.

Credits

3.0

Cross Listed Courses

Double-numbered course; offered with graduate-level CS 566

Offered

As Needed

CS 471 Programming Languages: Their Design and Compilation

Prerequisites: CS 226 and CS 219. A survey of the major programming paradigms and their related languages, including procedural, functional, logic and object-oriented programming. Topics include: binding, exception handling, data sharing, scope, parameter passing, type checking, runtime storage management, lexical analysis, syntactic analysis, parsing, code generation and optimization.

Credits

3.0

Offered

Fall Semester

CS 474 Capstone Proseminar

Prerequisites: CS 329 and senior standing, or permission of the instructor. Course focuses on cultivating proficiency in technical communication, using appropriate research methods, enhancing the ability to identify computational problems, properly state research questions, critically assess scientific literature, present data and results, work in teams and improve technical writing and time management skills.

Credits

3.0

Offered

Fall Semester

CS 475 Senior Project

Prerequisites: CS 324, CS 474 and senior standing, or permission of the instructor Students majoring in computer science complete a capstone project, serving as a culmination of their studies. The project entails the development of a significant piece of software or carrying out a research study by a student team, supervised by a designated faculty member within the department and evaluated by a faculty committee.

Credits

3.0

Offered

Spring Semester

CS 498 Special Topics

Credits

3.0

Offered

As Needed

CS 499A Departmental Honors

Prerequisite: By invitation of the department. The departmental honors paper is a two-semester senior-year program designed for students who wish to pursue intensive research or special projects in close coordination with faculty advisers. Departmental honors students are known as the Christine P. Tischer Scholars and receive 6 credits for this work.

Credits

3.0

Offered

Both Semesters and/or Summer

CS 499B Departmental Honors

Prerequisite: By invitation of the department. The departmental honors paper is a two-semester senior-year program designed for students who wish to pursue intensive research or special projects in close coordination with faculty advisers. Departmental honors students are known as the Christine P. Tischer Scholars and receive 6 credits for this work.

Credits

3.0

Offered

Both Semesters and/or Summer