Computer Science and Engineering
Chair: Gita Alaghband
Program Manager: Christina Ridd
Graduate Coordinator & Program Assistant: Megan Rogers
Office: Lawrence Street Center, 8th Floor
Telephone: 303-315-1408
Website: engineering.ucdenver.edu/cse
Overview
Mission Statement
With the advances in technology and the rapid and prevalent growth of the information-based economy, computer science has become an enabling science for nearly all disciplines that impact engineering, science, business, health and government. The future of the discipline promises even more innovative advances. The Department of Computer Science and Engineering at the University of Colorado Denver is committed to providing outstanding education and research training to our diverse undergraduate and graduate students for productive careers in industry, academia and government in the Denver metropolitan area, state and beyond. Our faculty strive for excellence in teaching, research and service by covering a broad spectrum of the discipline’s core fundamentals, as well as applied aspects including those of interdisciplinary nature. We actively engage our students in classroom and out-of-classroom research and help them develop the skills needed to solve complex real-world technological problems of modern society.
Undergraduate Information
Computer Science Program
Computers as a combination of software and hardware have become significant to the whole of society. They affect the way in which business is conducted and the way people study and learn. Very important is the use of computers to develop new avenues of human communication, interaction and cooperation. Communication networks and the combination of text with audio and video are providing more people with fingertip access to a vast array of information and knowledge.
The computer scientist is a professional who must be prepared to apply his or her skills, knowledge and creativity in a rapidly changing field. The computer science program at CU Denver prepares students for such creative work. The emphasis is on fundamental concepts and basic principles with a long useful life. The program is composed of five major study areas: mathematics, basic or engineering science, required computer science, technical electives and the CU Denver core curriculum.
Bachelor of Science in Computer Science Curriculum
The mathematics, basic science and computer science core requirements give the student a broad exposure to the concepts, methods and practice of computer science and engineering; the student learns the fundamentals of producing solutions to problems.
Technical electives are chosen to add depth to a student’s knowledge in an area of special interest.
The CU Denver undergraduate core curriculum is designed to give the student an exposure to knowledge outside his or her major. For students in the College of Engineering, Design and Computing, courses in the humanities, social sciences and human communications are required.
To be awarded the bachelor of science in computer science, a student must satisfactorily complete all course work shown in the curriculum below, satisfy all university graduation requirements and maintain at least a 2.0 GPA in all computer science courses attempted (see “Policy on Academic Progress” in the introductory section of this chapter). Students must meet with an undergraduate advisor each semester to assure that they are on track within the degree program and are aware of the current requirements of the program. An additional source of information is the CS Undergraduate Advising Handbook available online on the department’s website. Students must complete a 30-hour checkout before registering for the last 30 semester hours of their program. In addition, each student must complete an approved graduation plan within the academic year of their intended graduation date. For advising policies, see the BS-CS handbook on our website.
The bachelor of science in computer science program is accredited by the Computing Accreditation Commission (CAC) of ABET.
Note: Prerequisites must be taken before a course that requires them and be completed with a grade of C- or better. Co-requisites are to be taken concurrently. Prerequisites will be strictly enforced.
Computer Science Scholars Program: Dual BS/MS
The Computer Science (CS) Scholars Program provides high-performing and motivated undergraduate students the opportunity to begin graduate work at the master’s level while completing the undergraduate degree in CS. In the process, it allows students to receive dual credit for up to 12 hours of graduate-level computer science courses for both the Bachelor of Science (BS) and the Master of Science (MS) degree. This accelerates the time to obtain a graduate degree for the student, saving both time and expense.
Program Guidelines
Students admitted into the CS Scholars Program will be allowed to take 5000-level courses in computer science while still completing their undergraduate degree in computer science. CS Scholars are allowed to apply up to 12 credit hours (4 courses) of 5000-level courses toward both their BS degree in computer science, as technical electives, and their MS degree in computer science.
The following guidelines are applied to students in the BS Scholars Program:
- Dual credit CSIS 5000-level courses must be taken at CU Denver and must be courses selected from category A or B as required by the MS degree in computer science (outlined in the CU Denver computer science Graduate Handbook).
- Students must score a B- or higher in their 5000-level computer science courses for the course to be applied toward the MS degree. A passing grade below a B- will contribute to the BS degree requirements, but not to the MS degree requirements.
- Students cannot apply more than 12 credit hours of graduate coursework to the MS degree taken prior to the completion of the BS degree.
- Students must apply for the CS Scholars Program before their final year of courses to receive dual credit for 5000-level courses. Students will be considered undergraduate students until all requirements for the BS degree in computer science are completed.
- The BS degree will be conferred the semester during which these requirements are completed. At that time, students will also be considered an MS student. Students then continue to fulfill the remaining requirements for their MS degree in computer science (thesis option or project option or course only option). CS Scholars are expected to finish their MS degree in 2 semesters upon completion of their BS degree (course only option), plus a summer session for students pursuing an MS project or thesis.
Admission Requirements
- Must be a full-time undergraduate student in computer science at CU Denver in good standing, with a minimum of 60 credit hours completed toward the BS degree in computer science, and must have completed CSCI 3412 Algorithms, CSCI 3453 Operating System Concepts, and CSCI 3287 Database System Concepts.
- Must have a minimum cumulative GPA of 3.3 or a 3.5 GPA in CS major coursework.
- Must complete an application to the CS Scholars Program, including a dual degree course plan. The application must be approved by the student’s CS academic advisor and submitted to the CS department.
- Must apply and be accepted into the CU Denver MS program in computer science for the semester during which they will enter the CS Scholars Program dual-credit program.
Bachelor of Arts Computer Science Curriculum
The mathematics, basic science, computer science core requirements and computer science technical electives give the students a solid foundation in computer science; the student learns the fundamentals of computational thinking.
Students are encouraged to focus their free electives towards their area of interest to earn a certificate, minor or double major. The bachelor of arts in computer science is modeled as CS+X where X is a component of the degree consisting of 38 credit hours that students can use to pursue their passion in a different field toward a minor, double major, or even additional CS education. The program shares the same computer science courses as the BS in CS with fewer math and CS requirements. Students can use the 38 credits of free electives in fields such as graphic design, mechanical engineering, marketing, biology, physics, architecture, entrepreneurship, business, communications and any other subject offered at CU Denver. The program is composed of five major study areas: mathematics, basic science, required computer science, technical electives, free electives and the CU Denver core curriculum.
The CU Denver undergraduate core curriculum is designed to give the student an exposure to knowledge outside his or her major. For students in the College of Engineering, Design and Computing, courses in the humanities, social sciences and human communications are required.
To be awarded the bachelor of arts in computer science, a student must satisfactorily complete all course work shown in the curriculum below, satisfy all university graduation requirements and maintain at least a 2.0 GPA in all computer science courses attempted (see “Policy on Academic Progress” in the introductory section of this chapter). Students must meet with an undergraduate advisor each semester to assure that they are on track within the degree program and are aware of the current requirements of the program. An additional source of information is the BA-CS Undergraduate Advising Handbook available online on the department’s website. Students must complete a 30-hour checkout before registering for the last 30 semester hours of their program. In addition, each student must complete an approved graduation plan within the academic year of their intended graduation date. For advising policies see BA-CS Handbook.
Note: Prerequisites must be taken before a course that requires them. Co-requisites are to be taken concurrently. Prerequisites will be strictly enforced.
Computer Science Scholars Program: Dual BA/MS
The Computer Science (CS) Scholars Program provides high-performing and motivated undergraduate students the opportunity to begin graduate work at the master’s level while completing the undergraduate degree in CS. In the process, it allows students to receive dual credit for up to 12 hours of graduate-level computer science courses for both the Bachelor of Arts (BA) and the Master of Science (MS) degree. This accelerates the time to obtain a graduate degree for the student, saving both time and expense.
The following guidelines are applied to students in the BA Scholars Program:
- If accepted, students remain in an Undergraduate status until receiving their BA degree, then move into a Graduate status with an intent of completing the MS in Computer Science within a year.
- Students can take up to four graduate courses while in an Undergraduate status.
- Complete the following courses while in undergraduate status including all pre-requisites: CSCI 3453 Operating System Concepts, CSCI 4591 Computer Architecture, MATH 2411 Calculus II and MATH 3195 Linear Algebra and Differential Equations.
- Students must meet with a CS Graduate advisor within a semester of acceptance into the Dual BA/MS Program.
- Students with a prior associates or bachelor degree completing the BACS may apply for the Dual BA/MS Program their last semester.
To apply for the Dual BA/MS Program, students must:
- Be a full-time undergraduate student in computer science at CU Denver in good standing, with a minimum of 60 credit hours completed toward the BACS degree.
- Complete the following courses: MATH 2411 Calculus II, CSCI 3412 Algorithms, CSCI 3453 Operating System Concepts, and CSCI 3287 Database System Concepts.
- Commit to completing the following two courses while in undergraduate status: CSCI 4591 Computer Architecture and MATH 3195 Linear Algebra and Differential Equations.
- Have a minimum cumulative GPA of 3.3 or a 3.5 GPA in CS major coursework.
Undergraduate Certificate in Cybersecurity and Secure Computing
The goal of the undergraduate certificate of Cyber Security & Secure Computing program is to reduce vulnerability in the national information infrastructure by promoting higher education and research to help prepare cyber defense professionals for careers in both the public and the private sector. The curriculum of this certificate has been created to meet all criteria of NICE (National Initiative for Cybersecurity Education) undergraduate level of certification.
Certificate Objectives
This certificate program focuses on both the technical and analytical aspects of advanced cyber security and defense.
Program Objectives
- Master the fundamental concepts of cyber security principles and techniques.
- Learn about potentials for cyber security threats and attacks.
- Master cyber-defense tools, methods, and components to secure systems.
- Learn how to take appropriate measures should a system compromise occur.
- Learn principles and practices for secure computing
Learning Outcomes
- Be able to describe and apply the fundamental concepts of cyber security principles and techniques.
- Be able to analyze potential cyber threats and attacks.
- Be able to use cyber defense tools, methods, and components to properly secure systems.
- Be able to effectively and quickly evaluate and mitigate if systems are threatened or compromised.
Certificate Eligibility
Current students in good standing in an undergraduate computer science program (BA or BS), and those completing their minor in computer science are eligible. Applications from other CU Denver majors or non-degree students will be evaluated based on their current transcript. The student’s application is subject to the approval of the computer science and engineering department chair.
Students planning to pursue a Cybersecurity & Secure Computing Certificate in Computer Science and Engineering should apply as early as possible to facilitate course planning, and no later than census date of the semester prior to graduation with their undergraduate degree.
Process to Attain Certificate Objectives
The following classes need to be taken with a grade of C- or better:
Code | Title | Hours |
---|---|---|
CSCI 3761 | Introduction to Computer Networks | 3 |
CSCI 3453 | Operating System Concepts | 3 |
CSCI 4034 | Theoretical Foundations of Computer Science | 3 |
CSCI 4741 | Principles of Cybersecurity | 3 |
CSCI 4743 | Cyber and Infrastructure Defense | 3 |
Total Hours | 15 |
Students must take and pass each course with a grade of C- or better. The Cybersecurity & Secure Computing Certificate requires a minimum cumulative GPA of 2.0.
Programs
The Department of Computer Science and Engineering offers BA, BS, MS, and PhD degrees, as well as a minor and several certificates:
- The undergraduate BS degree is awarded in computer science (CS) and is ABET accredited. This curriculum is a rigorous study covering theoretical, software, systems and hardware interfaces providing students with a coherent and in-depth education of key components of the field.
- The Computer Science Scholars Program (dual BA/MS or BS/MS) provides high-performing and motivated undergraduate students the opportunity to begin course work at the graduate level while completing the undergraduate degree in CS. In the process, it allows students to receive dual credit for up to 12 credits of graduate-level CS courses for both the bachelor of science (BS)/bachelor of arts (BA) and the master of science (MS).
- The undergraduate BA degree is awarded in computer science (CS). It offers a flexible degree program designed with a modular approach that allows students to combine their computer science education with another academic field of their interest.
- The undergraduate certificate of Cybersecurity & Secure Computing is designed for students pursuing an undergraduate degree and will help prepare to be cyber defense professionals for careers in both the public and the private sector.
- The MS degree is awarded in computer science to those students who wish to pursue graduate studies to further develop their education. The MS in CS graduate program covers the core knowledge of key concepts of computer science as well as offers flexibility to pursue specializing in various fields of interests.
- A track in Data Science in Biomedicine is offered as a MS thesis option. Students who choose this track will adopt biomedical applications of data science to learn data science methodologies and technologies.
- The graduate certificate in software engineering is designed for working professionals, or computer science students beginning their careers, who are in the field of software engineering and/or software development.
- The graduate certificate in cybersecurity & defense is designed for working professionals in the field of computer science, network and/or security operations. The certificate program in Cyber Security and Defense will prepare Computer Science professionals to identify, analyze, and mitigate technical cybersecurity-related vulnerabilities, exploits and attacks against network and critical cyber infrastructure.
- The Computer Science and Information Systems (CSIS) PhD is awarded by the College of Engineering, Design and Computing.
- The multidisciplinary Engineering and Applied Science PhD degree is available through the Department of Computer Science and Engineering.
- Any undergraduate student currently enrolled in a CU Denver degree program with a major other than computer science may earn a minor in computer science. This includes students from the College of Engineering, Design and Computing, the College of Liberal Arts and Sciences, the School of Public Affairs, the College of Arts & Media, and the School of Education & Human Development.
The most up-to-date information on all programs offered through the computer science and engineering department can be obtained from the department’s website at engineering.ucdenver.edu/cse. Please also see our Graduate Catalog for more details regarding these programs.
Faculty
Professors:
Gita Alaghband, PhD, University of Colorado
Research areas: parallel and distributed systems, parallel algorithms, applications and languages, high-performance computing
Tom Altman, PhD, University of Pittsburgh
Research areas: algorithms, optimization, theory
Min-Hyung Choi, PhD, University of Iowa
Research areas: computer graphics, animation, virtual reality, human computer interface
Douglas Sicker, PhD, University of Pittsburgh
Research areas: cybersecurity and wireless systems
Professor (Clinical Teaching Track):
Dave Ogle, PhD, Ohio State University
Research areas: networks
Associate Professors:
Farnoush Banaei-Kashani, PhD, University of Southern California
Research areas: big data management, big data mining, data science, geospatial data analysis, data stores (NewSQL)
Ellen Gethner, PhD, University of British Columbia; PhD, Ohio State University
Research areas: graph theory, number theory, combinatorics, discrete geometry, computational geometry, visualization, algorithms
Ilkyeun Ra, PhD, Syracuse University
Research areas: computer networks, cloud computing, high-performance computing, distributed computing systems
Assistant Professors:
Mazen Al Borno, PhD, University of Toronto
Research areas: health technology, computational models of human movement for applications in motor neuroscience, rehabilitation, wearable technology and robotics
Ashis Biswas, PhD, University of Texas at Arlington
Research areas: machine learning, data mining, big data analysis, bioinformatics
Liang He, PhD, Nankai University
Research areas: cyber-physical systems, cognitive battery management, IoTs, mobile computing
Haadi Jafarian, PhD, University of North Carolina Charlotte
Research areas: proactive security for cyber threats, big data analytics for cyber threat intelligence, security for cyber-physical systems & critical infrastructures, security for IoTs, security analytics & automation, science of security
Zhengxiong Li, PhD, SUNY Buffalo
Research areas: Internet of Things, cybersecurity, emerging technologies and applications
Assistant Professors (Clinical Teaching Track):
Madhuri Debnath, PhD, University of Texas at Arlington
Research areas: data mining, spatio-temporal data analysis, data science, machine learning
Salim Lakhani, PhD, Purdue University
Research areas: cloud computing and security, distributed computing & database systems
Javier Pastorino, PhD, University of Colorado Denver
Research areas: artificial intelligence, cybersecurity, privacy & awareness, and machine learning
Senior Instructors (Clinical Teaching Track):
Sung-Hee Nam, MS, University of Colorado Boulder
Research areas: programming languages and distributed systems
Diane Ricciardella, MS, University of Colorado Denver
Research areas: artificial intelligence, linguistic geometry, natural language processing
Professors Emeriti:
Boris Stilman, PhD, National Research Institute for Electrical Engineering, Moscow, Russia
Computer Science (CSCI)
Topics covered: how to conduct a computer forensic exam; how an individual can hide data on a computer; how the investigator can find that hidden data.This course will also incorporate hands-on learning through the use of a forensic software package.(Non-CS majors) Max Hours: 3 Credits.
Grading Basis: Letter Grade
This course introduces concepts of engineering design innovation at a variety of scales and disciplines. Participants will experience and explore core technology and design themes including design principles, processes, methods, modes of thinking, and social and cultural aspects or design. Cross-listed with CVEN 1200, ENGR 1200, MECH 1200, ELEC 1201 and IWKS 2100. Max hours: 3 Credits.
Grading Basis: Letter Grade
This is an introductory course for individuals who would like to learn about the field of computer science, how modern computing is affecting society, and the basics of computer programming. We will explore how computing has changed society, how intertwined in our daily lives computer programs have become, and how these programs are created. We will explore these topics while learning the basics of computer programming with a modern programming language. Prereq: High School Algebra. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Additional Information: Denver Core Requirement, Biol Phys Sci - No Lab.
First course in computing for those who will take additional computer science courses. Covers the capabilities of a computer, the elements of a modern programming language, and basic techniques for solving problems using a computer. Coreq: CSCI 1411. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Coreq: CSCI 1411.
The design and analysis of combinational and sequential logic circuits. Topics include binary and hexadecimal number systems, Boolean algebra and Boolean function minimization, and algorithmic state machines. Lecture/lab includes experiments with computer-aided design tools. This course requires the level of mathematical maturity of students ready for Calculus I. Max hours: 3 Credits.
Grading Basis: Letter Grade
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
This is a continuation of CSCI 1001 This course will cover: computer forensics for advanced operating systems (Mac, Linux, and Unix) and mobile device forensics. This course will incorporate hands-on-learning by utilizing a computer forensics software package. (Non CS majors) Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: CSCI 1001
This course is designed to serve as the basic course in CSE curriculum for second year bachelor students. It introduces the fundamentals of the analog and digit circuit abstraction and applications. Topics include: resistive elements, networks, sources, switches, MOS transistors, digital abstraction, amplifiers, energy storage elements. A web-based laboratory will allow students to have hands-on experiments. Prereq: MATH 2411, PHYS 2331, and CSCI 1510. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Programming topics in a modern programming language. The emphasis is on problem solving using object oriented and Generic Programming. Topics include advanced I/O, classes, inheritance, polymorphism and virtual functions, abstract base classes, exception handling, templates, and the Standard Template Library. Prereq: Grade of C- or higher in the following courses: CSCI 1410 and CSCI 1411. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in the following courses: CSCI 1410 and CSCI 1411
Topics include a first look at an algorithm, data structures, abstract data types, and basic techniques such as sorting, searching, and recursion. Programming exercises are assigned through the semester. Prereq: CSCI 2312 with a grade of C- or higher. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: CSCI 2312 with a grade of C- or higher.
Covers the fundamentals of discrete mathematics, including: logic, sets, functions, asymptotics, mathematical reasoning, induction, combinatorics, discrete probability, relations and graphs. Emphasis on how discrete mathematics applies to computer science in general and algorithm analysis in particular. Prereq: MATH 1401 with a C- or higher (Calculus I). Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: MATH 1401 with a C- or higher
Topics include computer architecture, program execution at the hardware level, programming in assembly language, the assembly process, hardware support of some high-level language features, and a program's interface to the operating system. Programming exercises are assigned in this course. These exercises involve the use of specific hardware in designated laboratories. Prereq: Grade of C- or higher in the following courses: CSCI 1410, CSCI 1411 and CSCI 1510. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in the following courses: CSCI 1410, CSCI 1411 and CSCI 1510.
Introduces the UNIX operating system and its family of related utility programs. History and overview, versions, and common features. File operations, utilities, shells, editors, filters and data manipulation. Shell programming communications and networking, windowing environments, mail and Internet. Programming tools. Simple system administration. Credit will not count toward BSCSE degree. Prereq: Familiarity with operating systems and/or a programming course. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Max Hours: 3 Credits.
Grading Basis: Letter Grade
Introduces the principles of computer systems that underlie the global information age. Starting from first principles, students gradually construct a simple hardware platform and a modern software hierarchy, yielding a working basic yet powerful computer system. Only introductory programming experience is required. Prereq: Grade of C- or higher in the following courses: CSCI 1410 and CSCI 1411. Cross-listed with IWKS 3300. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in the following courses: CSCI 1410 and CSCI 1411.
Introduces principles of computer game development, building on the rich interplay of computer science, graphics design, physics, music, and narrative. Students develop interactive 2D and 3D games and a final project. Substantial software development involved, but requires only introductory programming experience. Prereq: Grade of C- or higher in the following courses: CSCI 1410 and CSCI 1411. Cross-listed with IWKS 3400. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in the following courses: CSCI 1410 and CSCI 1411.
In a world where everything is connected to everything else, how does that work? This course introduces techniques for (1) designing systems that can sense the environment and respond to humans in meaningful ways and (2) creating networks of physical objects that collect and exchange data. Such systems might include wearable sensors, interactive art, and Internet-connected home devices. Working individually and in teams, students will develop projects using Inworks’ materials, devices, and fabrication tools. The course involves considerable prototyping and software development but requires only introductory programming and prototyping experience. Prereq: Grade of C- or higher in the following courses: CSCI 1410 and CSCI 1411. Cross-listed with IWKS 4120. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in the following courses: CSCI 1410 and CSCI 1411.
Introduces database design, database management systems, and the SQL standard database language. Includes data modeling techniques, conceptual database design, theory of object-relational and relational databases, relational algebra, relational calculus, normalization and database integrity. Prereq: Grade of C- or higher in the following courses: ENGL 1020 and CSCI 2421. Restriction: Restricted to Computer Science Majors and Minors and Cybersecurity Majors. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in the following courses: ENGL 1020 and CSCI 2421. Restriction: Restricted to Computer Science Majors and Minors and Cybersecurity Majors.
The course will cover a wide range of advanced programming topics via focusing on development of cross-platform applications.The focus will be on problem solving and developing applications with modern languages (such as C++, Java, Objective-C) & frameworks, including Xcode, Angularjs (with Javascript, HTML5, CSS), Phonegap, & Webstorm. Prereq: CSCI 2421. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: CSCI 2421 with a C- or higher.
Design and analysis of algorithms. Asymptotic analysis as a means of evaluating algorithm efficiency. The application of induction and other mathematical techniques for proving the correctness of an algorithm. Data structures for simplifying algorithm design, such as hash tables, heaps and search trees. Elementary graph algorithms. Assignments include written work and programming projects. Prereq: Grade of C- or higher in the following courses: CSCI2421 and 2511. Restriction: Restricted to Computer Science Majors and Minors and Cybersecurity Majors. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in the following courses: CSCI 2421 and 2511. Restricted to Computer Science Majors and Minors and Cybersecurity Majors.
Introduces programming language design concepts and implementation issues. Includes language concepts such as control structures and data types, formal language specification techniques, and syntactic and semantic implementation issues. Prereq: Grade of C- or higher in the following courses: CSCI 2421 and CSCI 2525. Restriction: Restricted to Computer Science Majors and Minors and Cybersecurity Majors. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in the following courses: CSCI 2421 and CSCI 2525. Restricted to undergraduate Computer Science Majors and Minors and Cybersecurity Majors.
Covers the principles of computer operating systems and the essential components of an operating system. Topics include: I/O devices, file systems, CPU scheduling and memory management. Prereq: Grade of C- or higher in the following courses: CSCI 3412 and CSCI 2525. Restricted to Computer Science Majors, Minors, Cybersecurity Majors, and CSSC Certificate. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in the following courses: CSCI 3412 and CSCI 2525. Restricted to Computer Science Majors, Minors, Cybersecurity Majors, and CSSC Certificate.
Introduces principles and practices of software engineering: software life-cycle models, requirements engineering, analysis and design tools, human factors risk management, program certification, project management and intellectual property rights. Prereq: Grade of C- or higher in CSCI 3412. Restriction: Restricted to Computer Science Majors and Minors. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: CSCI 3412 with a C- or higher. Restriction: Restricted to Computer Science Majors and Minors (CSCI-BS, CSCS-BA, CSCI-MIN).
Hardware and software techniques needed to control and program device interfaces. Input and output devices, computer peripherals, device drivers and interfaces are introduced. Specific programmable devices are used in class projects. Prereq: Grade of C- or higher in CSCI 2525. Restriction: Restricted to Computer Science Majors and Minors. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 2525. Restriction: Restricted to Computer Science Majors and Minors.
The Internet of Things (IoT) is transforming our physical world into a complex and dynamic system of connected devices on an unprecedented scale. This course covers the basic components of IoT systems: sensing, communication, control, and power supply, as well as case studies on the design of real-world IoT applications, including voice authentication, activity monitoring, and battery management. This course integrates both the theories/science of IoTs and their hands-on implementation, as well as the basic practice of data collection, processing, analysis, and visualization. Prereq: CSCI 2421 with a C- or higher. Restriction: Restricted to Computer Science majors and minors (CSCI-BS, CSCS-BA, and CSCI-MIN). Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: CSCI 2421 with a C- or higher. Restriction: Restricted to Computer science majors and minors (CSCI-BS, CSCS-BA, and CSCI-MIN)
Events and probability. Discrete random variables. Moments of random variables. Conditional probability and expectation. The probabilistic method. Markov chains and random walks. Continuous distributions and the Poisson process. Entropy, randomness and information. Randomized algorithms. Prereq: Grade of a C- or higher in CSCI 2511 and MATH 2411. Restriction: Restricted to Computer Science Majors and Minors. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of a C- or higher in CSCI 2511 and MATH 2411. Restriction: Restricted to Computer Science Majors and Minors.
Introduces basic knowledge from the computer security area. Topics covered in this course include: Cybersecurity Ethics, Penetration Testing, Secure Programming Practices, and Life-Cycle Security. Students will gain the understanding of ethics in cybersecurity with the tools for ethical decision making, learn methods of exploiting vulnerabilities and perform penetration testing on a simple network, understand the characteristics of secure programming with the ability to implement programs that are free from vulnerabilities, and understand security related concerns in a system Life-Cycle and how security principles can be applies to improve security throughout a system. Prereq: CSCI 2421. Restriction: Restricted to Computer Science Majors and Minors. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: CSCI 2421. Restriction: Restricted to Computer Science Majors and Minors.
Introduces the UNIX/Linux operating system and its family of related utility programs. History and overview, versions, and common features. Common basic commands, file and process operations, utilities, shells, intro the vi editor, filters, and data manipulation. Shell programming communications and networking, windowing environments (X window). Programming tools (gdb). Simple system administration. Prereq: Grade of C- or higher in CSCI 2421. Restriction: Restricted to Computer Science Majors, Minors and CSSC Certificate. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 2421. Restriction: Restricted to Computer Science Majors, Minors and CSSC Certificate.
Typically Offered: Fall.
Introduction and overview of computer networks. Topics include Internet protocols, network devices, network security, and performance issues. Prereq: Grade of C- or higher in CSCI 2421. Restriction: Restricted to Computer Science Majors, Minors, Cybersecurity Majors, and CSSC Certificate. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 2421. Restriction: Restricted to Computer Science Majors, Minors, Cybersecurity Majors, and CSSC Certificate.
Network Programming. This class involves creating and implementing networking protocols that help students delve deeper into the concepts introduced in CSCI 3761. The course requires hands on sockets-based programming at the TCP and UDP level. The course explores and focuses on real-world networking problems. Prereq: Grade of C- or higher in CSCI 3761. Restriction: Restricted to Computer Science Majors, Minors and CSSC Certificate. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 3761. Restriction: Restricted to Computer Science Majors, Minors and CSSC Certificate.
Typically Offered: Spring.
Credit and subject matter to be arranged. Restriction: Restricted to Computer Science Majors and Minors. Repeatable. Max hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Restricted to Computer Science Majors and Minors (CSCS-BA, CSCI-BS, CSCI-MIN, CMSC-MS)
Credit and subject matter to be arranged. Credit will not count toward BS Computer Science degree. Restriction: Restricted to BA Computer Science Majors (CSCS-BA). Repeatable. Max hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Restriction: Restricted to BA Computer Science Majors.
Typically Offered: Fall, Spring.
Restriction: Restricted to undergraduate Computer Science Majors and Minors. Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Restricted to undergraduate Computer Science Majors and Minors.
JavaScript Web technologies for front-end development and back-end development. Building a full end to end solution with a mobile or web front-end, Web API and NoSQL database. Prereq: Grade of C- or higher in CSCI 2421. Restriction: Restricted to Computer Science Majors and Minors. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 2421. Restriction: Restricted to Computer Science Majors and Minors
This course introduces the fundamental concepts to develop programs and projects using modern software engineering techniques using two different programming languages (Java and Python). It will cover and apply pattern design approaches, reusable components driven by everyday needs within many software developments, the relationships between object oriented programming concepts and software design concepts. It will dig deeper into techniques to program single threaded applications as well as advanced techniques to construct concurrent and distributed applications. Prereq: Grade of C- or higher in CSCI 2421. Restriction: Restricted to Computer Science Majors and Minors. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 2421. Restriction: Restricted to Computer Science Majors and Minors
This interdisciplinary course examines how the technological, social and economic worlds are connected and how the study of networks sheds light on these connections. Topics include: how opinions spread through society; the robustness and fragility of financial networks; the technology and economics of Web information and on-line communities. Prereq: Grade of C- or higher in MATH 2411. Restriction: Restricted to Computer Science Majors and Minors. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in MATH 2411. Restricted to Computer Science Majors and Minors.
Introduces abstract models for computation, formal languages and machines. Topics include: automata theory, formal languages, grammars and Turing machines. Prereq: Grade of C- or higher in CSCI 3412. Restricted to Computer Science Majors, Minors, Cybersecurity Majors, and CSSC Certificate. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 3412. Restricted to Computer Science Majors, Minors, Cybersecurity Majors, and CSSC Certificate.
Every year, Topics include divisibility, prime numbers, congruences, number theoretic functions, quadratic reciprocity, special diophantine equations, cryptography, computer security, and engineering applications. Cross-listed with CSCI 5110. Prereq: Grade of C- or higher in one of the following courses: MATH 3000 or CSCI 2511. Restriction: Restricted to Computer Science Majors and Minors. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in MATH 3000 or CSCI 2511. Restricted to Computer Science Majors and Minors.
Theoretical and practical aspects of solving complex problems, in particular, but not limited to, NP-complete and PSPACE-complete problems. Various heuristic and approximation algorithms, including greedy, ant, and Genetic Algorithms will be studied. This course is by instructor's permission only. Prereq: Grade of C- or higher in CSCI 4034. Restriction: Restricted to Computer Science Majors and Minors. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 4034. Restricted to Computer Science Majors and Minors.
Solid, in-depth theoretical foundation in computing, computational complexity, and algorithmics. Additional topics include various algorithms for both discrete and non-discrete problem domains. Models of Computation, Computational Complexity, Time Complexity Classes, Space Complexity Classes, The Theory of NP-completeness. Prereq: Grade of C- or higher in CSCI 4034. Restriction: Restricted to Computer Science Majors and Minors. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 4034. Restricted to Computer Science Majors and Minors.
Topics include heuristic search, games playing algorithms, application of predicate calculus to AI, introduction to planning, application of formal grammars to AI. Prereq: Grade of C- or higher in CSCI 3412. Restriction: Restricted to Computer Science Majors and Minors. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: CSCI 3412 with a C- or higher. Restriction: Restricted to Computer Science Majors and Minors (CSCI-BS, CSCS-BA, CSCI-MIN).
This class in simulation spans three different disciplines: Computer Science, Modeling and Simulation, and Analysis. These will have approximately equal weight with respect to this class, but with more breadth in the Modeling and Simulation and Analysis disciplines and more depth in the supporting Computer Science topics. Excursions are planned for agent-based simulations, knowledge-based simulations, and animation and visualization of simulation results. Prereq: CSCI 3412 with a C- or higher. Restriction: Restricted to Computer Science majors and minors. Cross-listed with CSCI 5203. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: CSCI 3412 with a C- or higher. Restriction: Restricted to Computer Science Majors and Minors (CSCI-BS, CSCS-BA, CSCI-MIN).
Typically Offered: Fall.
This course contains two main simultaneous tracks, namely mobile computing and mobile programming. A series of lectures on various aspects of mobile computing provides an understanding of challenges and solutions in design and implementing mobile systems. The main topics include mobile sensing, human mobility and its technical implication. Prereq: Grade of C- or higher in CSCI 3453. Restriction: Restricted to Computer Science Majors and Minors. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 3453. Restriction: Restricted to Computer Science Majors and Minors.
The main topics covered by the course will include 1) social network data structures, 2) basic random graph models and graph algorithms; 3) recommendation systems and predictive models 4) query suggestion and content analysis 5) link analysis and community detection 6) the spread of information, disease, and influence on networks. This course builds a solid foundation in social informatics technology. Prereq: CSCI 3412. Restriction: Restricted to computer science majors and minors. Cross-listed with CSCI 5220. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: CSCI 3412. Restriction: Restricted to computer science majors and minors. Programs restricted to: CSCI-BS, CSCS-BA, CSCI-MIN.
Embedded Systems Programming happens across a spectrum of Domains. Embedded Systems Programming in the Small is characterized by the creation of small applications in high volumes. Embedded Systems Programming in the Large is characterized by the creation of medium to large applications in one-off or low volumes using specialized Operating Systems such as Real-time Operating Systems. Students will current languages, and are expected to have basic Operating Systems understanding. Prereq: Graded with C- or higher in CSCI 3453. Restriction: Restricted to Computer Science Majors and Minors. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 3453. Restriction: Restricted to Computer Science Majors and Minors.
A broad overview of cryptography and its relation to computer security. Topics include basic standard cryptographic techniques, a history of codes and ciphers, RSA, DES, AES, Elliptic Curve Cryptography, ElGammal, and applications to current and future technologies. Prereq: Grade of C- or higher in CSCI 3412. Restriction: Restricted to Computer Science Majors, Minors and CSSC Certificate. Cross-listed with CSCI 5407. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 3412. Restriction: Restricted to Computer Science Majors, Minors and CSSC Certificate.
Introduces discrete structures applications of graph theory to computer science, engineering and operations research. Topics include connectivity, coloring, trees, Euler and Hamiltonian paths and circuits. Matching and covering problems, shortest route and network flows. Prereq: Grade of C- or higher in one of the following courses: MATH 3000 or CSCI 2511. Restriction: Restricted to Computer Science Majors and Minors. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in MATH 3000 or CSCI 2511. Restricted to Computer Science Majors and Minors.
Many practical and aesthetic algorithmic problems have their roots in geometry. Applications abound in the areas of computer graphics, robotics, computer-aided design, and geographic information systems, for example. A selection of topics from convex hull, art gallery problems, ray tracing, point location, motion planning, segment intersection, Voronoi diagrams, visibility and algorithmic folding will be covered. Cross-listed with CSCI 5411. Prereq: Grade of C- or higher in CSCI 3412. Restriction: Restricted to Computer Science Majors and Minors. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: CSCI 3412 with a C- or higher. Restriction: Restricted to Computer Science Majors and Minors (CSCI-BS, CSCS-BA, CSCI-MIN).
Introduces concepts, techniques and methodologies to discover patterns in data. Topics include (but are not limited to) data preprocessing and cleansing, data warehousing, pattern mining, classification, prediction, cluster analysis, outlier detection, and online data analytics. Prereq: Grade of C- or higher in the following coures: MATH 3195 (or both MATH 3191 and MATH 3200), CSCI 3287 and CSCI 3412. Restricted to Computer Science Majors and Minors. Cross-listed with CSCI 5455. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prerequisite: Grade of C- or higher in MATH 3195 (or both MATH 3191 and MATH 3200), CSCI 3287 and CSCI 3412. Restricted to Computer Science Majors and Minors.
Comprehensive course on Java programming. Coverage of programming language constructs of Java and the core libraries that come with Java: coverage of advanced topics, including technologies for building distributed applications, and interacting with a database. Prereq: Grade of C- or higher in CSCI 2421. Restriction: Restricted to Computer Science Majors and Minors. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 2421. Restricted to Computer Science Majors and Minors.
Examines a range of topics involving parallel and distributed computing. Topics include language constructs for concurrency, work distribution, synchronization, and communication. Throughout, design of example scientific computing algorithms for parallel and distributed computation will be introduced. Prereq: Grade of C- or higher in Math 3195 (or both MATH 3191 and MATH 3200), CSCI 3415 & CSCI 3453. Restricted to Computer Science Majors and Minors. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in Math 3195 (or both MATH 3191 and MATH 3200), CSCI 3415 CSCI 3453. Restricted to Computer Science Majors and Minors.
Introduces the basic techniques used in translating programming languages: scanning, parsing, symbol table management, code generation, code optimization and error recovery. Prereq: Grade of C- or higher in CSCI 3412 and CSCI 3415. Restricted to Computer Science Majors and Minors. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 3412 and CSCI 3415. Restricted to Computer Science Majors and Minors.
Introduces two and three dimensional computer graphics. Topics include scan conversion, geometric primitives, transformation, viewing, basic rendering, and illumination. Emphasis is on programming using "C" and "C++" Open GL. Prereq: Grade of C- or higher in CSCI 3412 and (MATH 3191 or MATH 3195). Restriction: Restricted to Computer Science Majors and Minors. Cross-listed with CSCI 5565. Max hours: 3 Credits.
Grading Basis: Letter Grade
Pre-req: Grade of C- or higher in CSCI 3412 and (MATH 3191 or MATH 3195). Restricted to Computer Science Majors and Minors.
This course covers the fundamental concepts and technologies of virtual and augmented reality, and it introduces recent advances in the field. Topics include 3D user interaction, immersive environments, tele-presence, mobile AR, human perception, and VR/AR applications. Restricted to computer science majors and minors. Pre-requisite: CSCI 3412. Cross-listed with CSCI 5570. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: CSCI 3412. Restriction: Restricted to computer science majors and minors. Programs restricted to: CSCI-BS, CSCS-BA, CSCI-MIN.
Introduces concepts and techniques that enable data cycle from data extraction to knowledge discovery, including but not limited to data exploration, hypotheses testing, data organization, data featurization, supervised and unsupervised data modeling and learning, scaling-up analytics, and data visualization. Prereq: Grade of C- or higher in MATH 3195 (or both MATH 3191 and MATH 3200), CSCI 3287 and CSCI 3412. Restricted to Computer Science Majors & Minors. Cross-listed with CSCI 5580. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prerequisite: Grade of C- or higher in MATH 3195 (or both MATH 3191 and MATH 3200), CSCI 3287 and CSCI 3412. Restricted to Computer Science Majors and Minors.
Deals with how assembly language maps to hardware, and basic hardware techniques implemented in computers. Topics include logic design of arithmetic units, data control path processor logic, pipelining, memory systems, and input-output units. The emphasis is on logic structure rather than electronic circuitry. Students must know basic control logic design and be familiar with an assembly language before taking this course. Prereq: Grade of C- or higher in CSCI 2525. Restriction: Restricted to Computer Science Majors and Minors, and Cybersecurity Majors. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 2525. Restriction: Restricted to Computer Science Majors and Minors, and Cybersecurity Majors.
This course introduces techniques for the modeling, simulation and control of movement. These techniques come from computer graphics, robotics and machine learning. The topics that we will cover include robot modeling, trajectory optimization, feedback control, deep reinforcement learning, the neuroscience of movement, and neural network models of the brain. At the end of the course, students will learn how train control policies for virtual agents in computer animation or robotics applications. Prereq: Grade of C- or higher in CSCI 3412 & familiarity with Linear Algebra. Restriction: Restricted to Computer Science Majors and Minors. Cross-listed with CSCI 5620. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: CSCI 3412 with a C- or higher. Restriction: Restricted to Computer Science Majors and Minors (CSCI-BS, CSCS-BA, CSCI-MIN).
Linguistic Geometry (LG) is a type of Game Theory in Artificial Intelligence, which permits to overcome combinatorial explosion and generate optimal strategies in real time. LG is currently changing the paradigm of military command and control in the USA and abroad. Prereq: Grade of C- or higher in CSCI 3412. Restriction: Restricted to Computer Science Majors and Minors. Cross-listed with CSCI 5619. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: CSCI 3412 with a C- or higher. Restriction: Restricted to Computer Science Majors and Minors (CSCI-BS, CSCS-BA, CSCI-MIN).
Theoretical foundations and step-by-step hands-on experience in the development of a compiler, which can tune itself to a new programming language. This is a must-take course for future software developers as well as those interested in applications of the theory of Computer Science. Cross-listed with CSCI 5640. Prereq: Grade of C- or higher in CSCI 3453. Restriction: Restricted to Computer Science Majors and Minors. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 3453. Restriction: Restricted to Computer Science Majors and Minors.
A first semester course in numerical methods and analysis fundamental to many algorithms encountered in scientific computing, data science, machine learning, and computational models in science and engineering. Rounding errors and numerical stability of algorithms; solution of linear and nonlinear equations; data modeling with interpolation and least-squares; and optimization methods. This course assumes that students have the equivalent of differential and integral calculus (e.g., MATH 2411), linear algebra (e.g., MATH 3191 or 3195), and computer programming (e.g., MATH 1376 or CSCI 1410). Prereq: MATH 3191 or MATH 3195 with a C- or higher. Cross-listed with CSCI 5660, MATH 4650, and MATH 5660. Term offered: fall, spring, summer. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: MATH 3191 or MATH 3195 with a C- or higher.
Typically Offered: Fall, Spring, Summer.
A second semester course in numerical methods and analysis fundamental to many algorithms encountered in scientific computing, data science, machine learning, and computational models in science and engineering. Numerical differentiation and integration; random numbers and stochastic modeling; Fast Fourier Transform; data compression; eigenvalues and singular value decompositions with application to regression and dimension reduction. This course assumes that students have the equivalent of differential and integral calculus (e.g., MATH 2411), linear algebra (e.g., MATH 3191 or 3195), and computer programming (e.g., MATH 1376 or CS 1410). Restricted to Computer Science Majors. Cross-listed with CSCI 5661, MATH 4660 and 5661. Term offered; fall. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in MATH 3195 (or both MATH 3191 and MATH 3200), MATH or CSCI 4650 or 5660 and programming experience. Restricted to Computer Science Majors.
Typically Offered: Fall.
Introduces techniques to discover patterns in Big Data. Selected topics: scalable high-dimensional data clustering, scalable dimensionality reduction, locality sensitive hashing, PageRank, scalable data stream filtering and querying, and scalable classification, in the context of different applications such as Social Network Analysis, Spam Detection, Association Rule Analysis, and Recommender Systems. Prereq: C- or higher in CSCI 3287, CSCI 3412 & MATH 3195. Restriction: Restricted to students in a computer science major or minor. Cross-listed with CSCI 5702 and CSCI 7702. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: C- or higher in CSCI 3287, CSCI 3412 MATH 3195. Restriction: Restricted to students in a computer science major or minor.
Typically Offered: Fall.
This is an advanced practical course in which students design, implement, and document and test software systems for use in industry, non-profits, government and research institutions. The course offers practical experience by working closely with project sponsors. It also offers extensive experience in oral and written communication throughout the software life cycle. Prereq: Grade of C- or higher in CSCI 3287, CSCI 3415, CSCI 3453, and CSCI 3508. Restriction: Restricted to Computer Science Majors. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 3287, CSCI 3415, CSCI 3453, and CSCI 3508. Restricted to Computer Science Majors (CSCI-BS).
This course is a continuation of Senior Design I. Students must have taken Senior Design I in order to enroll for Senior Design II. In this course, the projects begun in Senior Design I are completed and presented. Prereq: CSCI 4738. Restricted to undergraduate Computer Science Majors. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 4738. Restricted to Computer Science Majors (CSCI-BS).
Focuses on the most common threats to cybersecurity as well as ways to prevent security breaches or information loss. Topics will include: understanding and thwarting hacker methods, authentication, cryptography, programming security, malware analysis, web, database and file server security, network and enterprise security methods. Prereq: Grade of C- or higher in CSCI 3761. Restriction: Restricted to Computer Science Majors, Minors and CSSC Certificate. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 3761. Restriction: Restricted to Computer Science Majors, Minors and CSSC Certificate.
Focuses on cybersecurity related programming and analysis skills. Topics include: network and security application development, intrusion detection, automating security hardening. Students will design and develop security applications in multiple programming languages. Undergraduate algorithms and programming knowledge expected. Pre-Req: CSCI 3415. Restricted to undergraduate Computer Science Majors and Minors. Cross-listed with CSCI 5742. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 3415. Restriction: Restricted to Computer Science Majors and Minors.
Presents analytical study of state-of-the-art attack and defense paradigms in cyber systems and infrastructures. Analysis will focus on: theoretical foundations of cybersecurity, practical development of novel technical defense techniques and analysis of alternatives. Knowledge of undergraduate-level networking. Cross-listed with CSCI 5743. Prereq: Grade of C- or higher in CSCI 3761. Restriction: Restricted to Computer Science Majors, Minors and CSSC Certificate. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 3761. Restricted to Computer Science Majors, Minors and CSSC Certificate.
Provides an in-depth understanding of the fundamentals in mobile computing and studies the existing and proposed solutions for ubiquitous computing. This course focuses on systems and networking issues involved with supporting mobility. Prereq: Grade of C- or higher in CSCI 3453 and CSCI 3761. Restricted to Computer Science Majors and Minors. Cross-listed with CSCI 5771. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 3453 and CSCI 3761. Restriction: Restricted to Computer Science Majors and Minors.
This course concentrates on the computing of emerging mobile and IoT systems security in the Computer Science domain. The seminar will discuss recent research on computing for mobile user authentication, vulnerability risk detection of mobile/IoT systems, and software based defense mechanism. Prereq: Grade of C- or higher in CSCI 3453 and 3761. Restriction: Restricted to undergraduate Computer Science Majors and Minors. Cross-listed with CSCI 5772. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 3453 and CSCI 3761. Restriction: Restricted to Computer Science Majors and Minors.
This course concentrates on the security of the emerging system in the Computer Science domain. It focuses on radically novel systems, relatively fast-growing and potentially exerting a considerable impact on society, such as mobile systems, AI systems, and quantum systems. The security topics cover adversarial attacks, side/covert-channel attacks, covert-channel attacks, user authentication, biometrics, vulnerability risk detection, and defense countermeasure. Prereq: Grade of C- or higher in CSCI 3453 and CSCI 3761. Restriction: Restricted to Computer Science Majors and Minors, and Cybersecurity Majors. Cross-listed with CSCI 5773. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 3453 and CSCI 3761. Restriction: Restricted to Computer Science Majors and Minors, and Cybersecurity Majors.
Provides a broad exposure to the basic concepts and methodologies of bioinformatics and their application to analyzing genomic and proteomic data. Topics may include dynamic programming algorithms, graph theoretic techniques, hidden Markov models, phylogenetic trees, RNA/protein structure prediction and microarray analysis. Cross-listed with MATH 4788, PHYS 4788. Prereq: Grade of C- or higher in CSCI 1410, CSCI 1411 and MATH 3195 or 3191. Restriction: Restricted to Computer Science Majors and Minors. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 1410, CSCI 1411 and MATH 3195 or 3191. Restricted to Computer Science Majors and Minors.
Credit and subject matter to be arranged. Restriction: Restricted to Computer Science Majors and Minors. Repeatable. Max hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Restricted to Computer Science Majors and Minors (CSCS-BA, CSCI-BS, CSCI-MIN, CMSC-MS)
Credit and subject matter to be arranged. Credit will not count toward BSCS degree. Restriction: Restricted to BA Computer Science Majors (CSCS-BA). Repeatable. Max hours: 9 Credits. Max hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Restriction: Restricted to BA Computer Science Majors.
Typically Offered: Fall, Spring.
Restricted to undergraduate Computer Science Majors and Minors with senior standing. Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Restricted to undergraduate Computer Science Majors and Minors with senior standing.
This course covers various aspects of mobile and ubiquitous systems to provide an in-depth understanding of principles, state-of-the-art solutions and challenges in design and implementation of such systems. Prereq: Grade of C- or higher in CSCI 3453 and 3761. Restriction: Restricted to undergraduate Computer Science Majors and Minors. Cross-listed with CSCI 5866. Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 3453 and CSCI 3761. Restriction: Restricted to Computer Science Majors and Minors.
A how-to course for any technologist who has endured difficult interfaces and wants to design effective user interfaces that respect and advance the user experience. Course includes: Psychology, HCI personas, scenarios, prototyping, and evaluation for desktop and mobile applications. Prereq: Grade of C- or higher in CSCI 2421. Restriction: Restricted to Computer Science Majors and Minors. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in CSCI 2421. Restricted to Computer Science Majors and Minors.
Computer Game Design and Programming introduces practical and example driven approaches to modern 3D game development. Topics include 3D modeling, character animation, UI design, scripting, texture mapping, and sound effect. Prereq: Grade of C- or higher in CSCI 3412. Restriction: Restricted to Computer Science Majors and Minors. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: CSCI 3412 with a C- or higher. Restriction: Restricted to Computer Science Majors and Minors (CSCI-BS, CSCS-BA, CSCI-MIN).
Faculty and employer-supervised employment in industry. Enrollment is limited to students who fully complete a contract for cooperative education credit by the last day of the drop or add period. Prereq: CSCI 3508 and cumulative GPA of 2.75 or higher. Restricted to undergraduate students in the Bachelors of Arts in Computer Science Program (CSCS-BA). Max hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: CSCI 3508 and cumulative GPA of 2.75 or higher. Restricted to undergraduate students in the Bachelors of Arts in Computer Science Program (CSCS-BA).
Provides theoretical and computational foundations in machine learning to design and develop intelligent applications to perform object recognition, personalized recommendations, improve cybersecurity, fact-checking, forecasting and finding communities based on three classes of algorithms: supervised, unsupervised, semi-supervised and reinforcement learning. Prereq: Grade of C- or higher in the following courses: MATH 3195 (or both MATH 3191 and MATH 3200) & CSCI 3412. Restricted to Computer Science Majors and Minors. Cross-listed with CSCI 5930. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in the following courses: MATH 3195 (or both MATH 3191 and MATH 3200) CSCI 3412. Restricted to Computer Science Majors and Minors.
Provides a foundation on deep learning; a sought-after skill in machine learning. Topics include neural network design & learning, restricted Boltzmann machine, convolution neural network, recurrent neural network, LSTMs, deep reinforcement learning, autoencoders, and evolving computation frameworks like TensorFlow, Keras. Prereq: Grade of C- or higher in MATH 3195 (or both MATH 3191 and MATH 3200) and CSCI 3412. Restricted to Computer Science Majors and Minors. Cross-listed with CSCI 5931. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prereq: Grade of C- or higher in the following courses: MATH 3195 (or both MATH 3191 and MATH 3200) CSCI 3412. Restricted to Computer Science Majors and Minors.
Faculty or employer-supervised employment in industry. Enrollment is limited to students who fully completed a contract for cooperative education credit by the last day of the drop or add period. Prereq: Grade of C- or higher in CSCI 3415 and cumulative GPA of 2.75 or higher. Restriction: Restricted to Computer Science Majors and Minors. Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Prereq: Grade of C- or higher in CSCI 3415 and cumulative GPA of 2.75 or higher. Restriction: Restricted to Computer Science Majors and Minors.
Presents a practical while in-depth review of the principles of a series of modern data processing systems (e.g., Hadoop, Spark, TensorFlow) designed to address the Big Data challenges. In combination, these systems enable the data to knowledge (Big) data lifecycle. Prereq: Grade of C- or higher in MATH 3195 (or MATH 3191 and MATH 3200), CSCI 3287 and CSCI 3412. Restriction: Restricted to Computer Science Majors and Minors. Cross-listed with CSCI 5951. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Prerequisite: Grade of C- or higher in MATH 3195 (or both MATH 3191 and MATH 3200), CSCI 3287 and CSCI 3412. Restricted to Computer Science Majors and Minors.
Engineering (ENGR)
Introduces engineering profession, engineering design and practice; and the tools used by engineers to accomplish design. The specialties within engineering are described. Students are involved in application projects and use word processors, spreadsheets and engineering software. Note: ENGR 1000 cannot be substituted for ELEC 1201. Prereq: High school trigonometry. Repeatable. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 3.
Provides a foundation in computational thinking and practices. Students learn to take advantage of computational power in problem solving by writing simple programs, studying the underlying logic of hardware, and working with a variety of technologies. Cross-listed with IWKS 2300 and MECH 1100. Max hours: 3 Credits.
Grading Basis: Letter Grade
This course will explore the impact of technology and its advances on human beings from an emotional, psychological, and social perspective. Discussions will include ethical, moral, and multicultural implications of technological advances from a global perspective and will require students to critically analyze issues that arise from such advances. Max Hours: 3 Credits.
Grading Basis: Letter Grade
Restriction: Restricted to majors with 12 credit hours or less at CU Denver.
An introductory lecture and recitation course designed to meet the general chemistry requirement for engineering students. Topics include atoms, molecules, moles, stoichiometry, chemical bonding, atomic & molecular structures, thermodynamics and kinetics. The course will highlight the application of chemistry to engineering disciplines. Note: Suggested background of one year of high school chemistry or CHEM 1000 and MATH 1110 (or high school equivalent) strongly recommended. Max Hours: 5 Credits.
Grading Basis: Letter Grade
This course introduces concepts of engineering design innovation at a variety of scales and disciplines. Participants will experience and explore core technology and design themes including design principles, processes, methods, modes of thinking, and social and cultural aspects or design. Cross-listed with CSCI 1200, CVEN 1200, MECH 1200, ELEC 1201 and IWKS 2100. Max hours: 3 Credits.
Grading Basis: Letter Grade
Restriction: Restricted to Engineering and pre-engineering students only. Repeatable. Max hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Restriction: Restricted to Engineering and pre-engineering students only.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Explores the cultural and political foundations of technology and the impact of technology upon the individual and society. Contributions to technological advances and the impact of technology on women and diverse ethnic groups are examined in the context of specific engineering designs and case studies. (Satisfies the multicultural diversity requirement of the UCDHSC core curriculum). Max hours: 3 Credits.
Grading Basis: Letter Grade
Additional Information: Denver Core Requirement, Cultural Diversity.
This course provides students with an understanding of how science, technology and international issues interrelate in a world that has become more interconnected and interdependent. The course will focus on the technical, organizational and cultural aspects of information and other technologies with an emphasis on their impact on third world countries. (Satisfies the international perspectives requirement of the UCDHSC core curriculum). Max hours: 3 Credits.
Grading Basis: Letter Grade
Additional Information: Denver Core Requirement, International Perspectives.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Typically Offered: Summer.
A flexible seminar format dealing with topics of special interest in engineering. Topics vary from semester to semester. Prereq: Senior standing. Cross-listed with ENGR 5150 and 7150. Max hours: 1 Credit.
Grading Basis: Letter Grade
Restriction: Restricted to senior standing or higher
Typically Offered: Fall, Spring.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.
Course for undergraduate international and limited English proficient (LEP) students to improve success in science and engineering degree programs through senior research paper writing , advanced STEM English skills and cross cultural training. Repeatable. Max Hours: 6 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 6.
Repeatable. Max Hours: 9 Credits.
Grading Basis: Letter Grade
Repeatable. Max Credits: 9.