CS - Computer Science
Introduction to computer science and programming. Representation of data in digital form. Data types, conditionals, loops, arrays and functions. Algorithmic time complexity. Creates a foundation for computer science and data driven software development. Emphasis on good design and programming techniques through practice in writing, running, and debugging programs. No programming experience expected.
3
Credits
3
Create a foundation for computer science and the software development process. Emphasis on good design and programming techniques through practice in writing, running, and debugging programs. Study of a programming language which incorporates objects, structured control statements, classes, inheritance, strong data typing, and sub-programs with parameters. No programming experience expected.
3
Corequisites
CS 273
Credits
3
A non-required laboratory for CS 203. This course focuses on reinforcing basic programming techniques and skills. Students who are entering CS 203 with no previous programming experience will benefit most from this course. Course is graded P/NP.
1
Credits
1
1
Corequisites
CS 203
Credits
1
Continue to build a computer science foundation. Study of intermediate programming language constructs: event handling, graphical user interfaces, threads, and networking. Introduction to the software engineering process and programming-in-the-large.
3
Prerequisites
CS 203 and
CS 273, both with a grade of C- or better
Corequisites
CS 371
Credits
3
Continues the study of computer science and software engineering methodologies with the C programming language. Analysis of common data structures, time and space efficiency, stacks, queues, linked lists, trees, graphs, hash tables, recursion, searching, and sorting algorithms.
3
Prerequisites
CS 203 with a grade of C- or better
Credits
3
Design, analysis and correctness proofs of important algorithms from areas such as combinatorics, seminnumerical algorithms, data storage and retrieval, systems programming, and artificial intelligence. Includes a study of complexity theory.
3
Prerequisites
CS 305 with a grade of C- or better,
MTH 311 with a grade of C- or better,
EGR 361 or
MTH 461
Credits
3
Introduction to combinational and sequential logic. Introduction to computer system hardware including Arithmetic Logic Unit (ALU), main memory, cache memory, I/O devices, busses and interfaces, control unit, addressing techniques, and the MIPS assembly language.
3
Prerequisites
CS 305 with a grade of C- or better
Credits
3
Functions, structure, design, and problems of operating systems. Concepts and principles of operating system design and implementation including file system, CPU scheduling, memory management (including virtual memory), deadlocks in computer systems, concurrent processes and programming, threads, and protection.
3
Prerequisites
CS 305 with a grade of C- or better,
CS 333,
CS 376
Credits
3
Software lifecycle models. Requirements engineering. Planning and managing software projects. Software design methods. System integration, software quality assurance, testing, and validation. Software maintenance.
3
Prerequisites
CS 301 with a grade of C- or better,
CS 305 with a grade of C- or better.
Credits
3
In-depth study of professional responsibility in the field of computer science. Students are expected to read journal papers, articles, and books, participate in class discussions, and give presentations. Students are also required to work on professional development activities.
3
Prerequisites
PHL 220
Credits
3
Comparative analysis of several modern high-level languages in terms of data types and control structures, with emphasis on run-time behavior of programs.
3
Prerequisites
CS 305 with a grade of C- or better.
Credits
3
Introduction to finite automata, Turing machines, formal languages, computability, and complexity.
3
Prerequisites
CS 305 with a grade of C- or better,
MTH 311 with a grade of C- or better.
Credits
3
A study of the structure and implementation of a compiler covering lexical analysis, parsing, static analysis, and code generation. Fee: $50
3
Prerequisites
CS 305 with a grade of C- or better,
CS 357,
CS 333;
CS 352 or corequisite
Corequisites
CS 352 or prerequisite
Credits
3
Professional development topics for a career in technology, including business law, contract law, business creation and incorporation, policy, negotiation, personal finance, and employment.
3
Credits
3
In-depth study of professional responsibility in the field of computer science. Students are expected to read journal papers, articles, and books, participate in class discussions, and give presentations.
2
Prerequisites
PHL 220
Credits
2
1
Corequisites
CS 301
Credits
1
This laboratory introduces Unix/Linux commands and tools for software development and testing. Includes scripting languages.
1
Prerequisites
CS 203 with a grade of C- or better.
Credits
1
The fundamentals of artificial intelligence. Topics include: heuristic search, adversarial search, local search, knowledge-based systems, artificial neural networks, reinforcement learning, AI history and philosophy of minds.
3
Prerequisites
CS 305 with a grade of C- or better
Credits
3
Algorithmic and analysis techniques for biological data such as DNA, RNA, proteins, and gene expression. Topics include molecular biology, alignment and searching algorithms, sequence evolution algorithms, genetic trees, and analysis of microarray data. This course is interdisciplinary and assumes programming skills.
3
Prerequisites
CS 200 or 203 with a grade of C- or better; one of the following:
BIO 205,
BIO 207,
CS 305 with a grade of C- or better
Cross Listed Courses
BIO 423
Credits
3
Concepts in robotics including state estimation, filtering, perception, localization, and mapping. Introduction to various topics in computer vision. Methods for robotic control and learning. Current topics in applied robotics. Fee: $50
3
Prerequisites
CS 305 with a grade of C- or better,
MTH 201;
MTH 361 or
MTH 461 recommended
Credits
3
This is a practical course in "Making Smart Connected Things". Today, IoT exists in our home appliances, automobiles, airplanes, and on our wrists - tracking how we exercise, and measuring and analyzing our sleep. Topics include core IoT technologies (hardware, software, circuits, sensors) applied to hands-on projects. Fee: $100
3
Prerequisites
CS 305 with a grade of C- or better
Credits
3
The UX (User Experience) of a product is always important, be it a website, app, device, workshop, or organizational process. Learn from research about how people think about and experience these products; learn best practices for information design, interaction design, and visual design; and learn to evaluate usability via observation, questionnaires, and interviews with users.
3
Credits
3
In-depth survey of basic and advanced concepts of machine learning. Topics include: linear discrimination, supervised, unsupervised, semi-supervised learning, multilayer perception, convolution neural networks, maximum-margin methods, Monte-Carlo, and reinforcement learning. Knowledge of linear algebra and vector calculus also recommended.
3
Prerequisites
CS 305 with a grade of C- or better
Credits
3
The design and implementation of databases with an emphasis on the use of relational database management systems (DBMS). Query languages, table and index design, query evaluation, transaction management, tuning, security.
3
Prerequisites
CS 305 with a grade of C- or better
Credits
3
A study of architectures, algorithms and programming/debugging techniques that employ parallelism to increase performance of computer programs. Topics include parallel computer architectures, parallel programming languages for distributed and shared-memory multiprocessors and code optimization.
3
Prerequisites
CS 305 with a grade of C- or better
Credits
3
As more data becomes available, solutions are needed to store, process, extract, interpret, and visualize large amounts of data. This course introduces algorithms and technologies for the storage, modeling, analysis, visualization, interpretation, and use of data.
3
Prerequisites
CS 305 with a grade of C- or better
Credits
3
A broad first course in computer networks and internetworking. OSI and TCP/IP layered models, TCP/IP protocol suite, transmission media, local area networks, network and transport-layer protocols, internetworking, internet addressing and routing.
3
Prerequisites
CS 305 with a grade of C- or better
Credits
3
This course will provide an introduction to the field of computer game design. The philosophy, objectives, and history of this field will be explored. In addition, the course will emphasize practical applications of some of the more prevalent techniques. Fee: $50
3
Prerequisites
CS 305 with a grade of C- or better
Credits
3
Contemporary topics in Cybersecurity. Topics in this fast-moving field change from year to year, but each offering will introduce these core fundamentals: confidentiality, integrity, availability, access control, and defensive programming techniques. Fee: $50
3
Prerequisites
CS 305 with a C- or better,
CS 376
Credits
3
A study in the design and implementation of algorithms with a focus on general techniques for implementation such as sorting, divide and conquer, dynamic programming, backtracking, and graph algorithms. This course also includes a study on correctness and complexity theory.
3
Prerequisites
CS 305 with a grade of C- or better
Credits
3
Selected study or project in computer science for upper-division students. Must be arranged between the student and an individual faculty member and subsequently approved by the dean of engineering. No more than three hours of directed study taken at the University may be used for elective credits to satisfy degree requirements.
1 to 12
Credits
1 to 12
Faculty-directed student research. Before enrolling, a student must consult with a faculty member to define the project. May be repeated for credit. Course is graded A-F.
1-3
Prerequisites
Upper division standing.
Credits
1-3
Research, study, or original work under the direction of a faculty mentor, leading to a scholarly thesis document with a public presentation of results. Requires approval of thesis director, department chair, dean, and the director of the honors program, when appropriate.
3 to 6
Prerequisites
Senior standing; 3.0 G.P.A. in the thesis area or good standing in the honors program.
Credits
3 to 6