2021-2022 Course List

2021-2022


CORR

CS

This course provides fundamental conceptual, mathematical, and logical tools for students wishing to major in Computer Science. Topics include hardware concepts, number systems, computer arithmetic, counting, sets and functions, logic, simple induction, etc. Coreq: Math 112

This course provides an introduction to programming using C++. Emphasis on structured programming concepts, with a brief discussion of object-oriented programming. Control structures, expressions, input/ output, arrays, and functions. F, S

Prerequisites:
MATH 113 or MATH 115

Course will explore the interplay between science fiction (1950s-present) and the development of artificial intelligence. Turing tests, agents, senses, problem solving, game playing, information retrieval, machine translation robotics, and ethical issues. Variable

Goal Areas:
GE-06, GE-09

C++ syntax for students who already know Java. Specific topics are: data types, operators, functions, arrays, string operations, pointers, structures, classes, constructors, destructors, pointers as class members, static classes, the this pointer, operator functions, data type conversions, inheritance, polymorphism, and dynamic binding.VariablePrereq: Consent

Prerequisites:
Consent 

Investigates efficient data structuring techniques to support a variety of operations in different problem scenarios. Topics include binary trees, binary search trees, multiway search trees, hashing and hash tables, priority queues, and algorithm analysis for best, worst and average cases.Fall, Spring

Prerequisites:
CS 111 and MATH 121

Fundamentals of data mining and knowledge discovery. Methods include decision tree algorithms, association rule generators, neural networks, and web-based mining. Rule-based systems and intelligent agents are introduced. Students learn how to apply data-mining tools to real-world problems.

Prerequisites:
CIS 121

An introduction to graphical programming environments. Topics include data and data types, repetition, selection, data acquisition, data dependency, efficiency, modular program construction, array processing, debugging, and visualization.

Prerequisites:
EET 113, MATH 121

This class provides MAX scholars with an opportunity to explore a set of topics related to achieving success in academic, professional and personal realms. Speakers will include faculty, graduate students, visiting researchers and industry members as well as student participants.Fall, SpringRereq: Recipient of a MAX scholarship or instructor consent

Prerequisites:
Recipient of a MAX scholarship or instructor consent

Workshop topics will be announced. Workshops on different topics may be taken for credit.

Prerequisites:
Consent of instructor

Provides students interested in a computer science major or minor an opportunity to explore topics not normally covered in the curriculum. Speakers will include faculty, graduate students, undergraduate students admitted to the Computer Science major, visiting researchers and industry members.Fall, Spring

Special topics not covered in other 100 or 200-level courses. May be repeated for each new topic.Variable

A team-based capstone experience for the mid-point of the CS program. Students are introduced to principles and methodologies of large-scale software development and engineering by working on a full life-cycle software project solving a substantial problem using multiple CS concepts.Spring

Prerequisites:
CS 210 and CS 220

This course introduces the foundational concepts of operating systems including operating systems principles, concurrency, scheduling, dispatch, and memory management and prepares students for advanced topics in operating systems.

Prerequisites:
CIS 223, CIS 224 or EE 234, and admission to major.

This course introduces the foundational concepts of software engineering, and parallel and distributed computing and prepares students for advanced topics in these areas.

Prerequisites:
CIS 223, CIS 224, and admission to major.

This course introduces the foundational concepts of programming languages, including the principles of language design, language constructs, and comparison of major languages. Topics include formal methods of examining syntax and semantics of languages and lexical analysis of language components and constructs, and propositional and predicate calculi.

Prerequisites:
CIS 223, CIS 224, and admission to major.

This course introduces the foundational concepts of Information Management, Database Systems, Data Modeling, Data Security, Secure Design, Defensive Programming, Security and Cryptography.

Prerequisites:
CIS 223, CIS 224, and admission to major.

An introduction to data communications and networks. The field encompasses local area networks, wide area networks, and wireless communication. Topics include digital signals, transmission techniques, error detection and correction, OSI model, TCP/IP model, network topologies, network protocols, and communications hardware.

Prerequisites:
CIS 223 and CIS 224 or EE 234

Algorithm design and analysis is central to much of computer science. This course exposes students to fundamental algorithm design and analysis techniques. Topics include many of the basic topic areas of computer science: searching, sorting, numeric computation, data representation, communication.Fall

Prerequisites:
CS 210

An introduction to methods, algorithms, and tools of cryptography. We will study the algorithmic and mathematical aspects of cryptographic methods and protocols. We will experiment with how they can be used to solve particular data and communication security problems. Prerequisite: CS 305 or permission of instructor.

Prerequisites:
CS 305 or permission of instructor.

This course presents historical and current concepts and implementations of computer organization. Topics include instruction set design, digital storage, performance metrics, processor datapath and control, pipelining, memory hierarchy, busses and I/O interfacing, and parallel processors.Spring

Prerequisites:
CS 111 and CS 220, or EE 334

This course provides an introduction to the theory and practice of neural computation. The goal is to familiarize students with the major models, techniques, and problems of neural network computation and to provide hands-on experience using these things. Topics include neural network models, supervised and unsupervised learning, associative memory models, and data representation.

Prerequisites:
CS 230

This course covers the fundamentals of database management focusing on the relational data model. Topics include database organization, file organization, query processing, concurrency control, recovery, data integrity, optimization and view implementation. Fall

Prerequisites:
CS 210 and CS 320

An introduction to data communications and networks. The field encompasses local area networks, wide area networks, and wireless communication. Topics include digital signals, transmission techniques, error detection and correction, OSI model, TCP/IP model, network topologies, network protocols, and communications hardware.Spring

Prerequisites:
CIS 223, EE 234

A laboratory in conjunction with CS 350.

Prerequisites:
CS 305 or EE 234. Permission of instructor