Skip to main content
Sign In
 

Certificate Programs


Graduate Certificate in Software Engineering

This certificate is designed for working professionals, or computer science students beginning careers, in the fields of software engineering and software development. This certificate requires a previous computer science or systems engineering degree. At the start of the certificate program students are expected to have a strong understanding of software development in terms of software construction, software coding and basic software design. 

Certificate Objectives 

To provide working or career-oriented students with knowledge and practice of the applied skills needed to become successful software engineers. 

To provide working or career-oriented students with knowledge and understanding of the skills needed to successfully advance their careers as software engineers.

To earn the graduate software engineering certificate, students must take the following courses:

  • Software Architecture (CSCI 5010) AND
  • Software Project Management (CSCI 5011) AND
  • Either Operating Systems (CSCI 5573) or Advanced Computer Architecture (CSCI 5593)

NOTE: Students must take and pass each course with a grade of B- or better and earn at least a 3.0 GPA to obtain the Software Engineering Certificate. 

Course objectives

Software Architecture

This course will focus on two major areas. The first part of the course will cover Software Requirements Analysis and Development as well as Software Architecture and the Soft Skills needed by high level Software Architects. The second part of the course will cover how Persistent Data fits into different types of Software Systems. The primary focus of the second part of the course will be on incorporating larger scale Enterprise Data Systems into Software Systems and will be an application of the first part of the course material. This course will explore: 

  • Chronic Software Production Problems
  • Derived Functional and Non-Functional Requirements
  • Problem and Solution Space mapping and complexity
  • Architecture (the product) and Architecting (the practice)
  • Object and Component based Software Architecture techniques
  • Architectural Styles and how to apply them 
  • Architectural Views and their relationship to Requirements
  • Application Data Systems vs. Enterprise Data Systems
  • The different Quality Attribute requirements between Application and Enterprise Data Systems 
  • Software Architectures for Enterprise Data Systems
  • Architecting Domain Models for Data Systems 

Software Project Management Support 

This course will cover Software Planning, Estimation, Staffing and Scheduling. This course will explore:

  • Software Work Breakdown Structures
  • Software Project Dependencies and Effort Schedules
  • Estimation Techniques
  • Comparisons between different Project Models (Waterfall, Agile, Iterative, …) and when one might be preferred over the others

Operating Systems 

This course provides an in-depth study of the principles of computer operating systems and their essential components. Team projects expose students to a variety of system design issues as they relate to the functionality and performance of the system. Topics include I/O devices, Disk Scheduling, File System Organizations, Directory Systems, Sequential and Concurrent process, CPU Scheduling, Memory Management, Deadlock, Process and Threading, and review of some related articles in the literature. 

Advanced Computer Architecture

This course covers concepts in the structural design of computer systems important to software designers. Topics include memory hierarchy, super pipelining and super scalar techniques, dynamic execution, vector computers and multiprocessors and performance impacts of software design.

Graduate Certificate in Cyber Security and Defense

​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 coursework emphasizes practical technical skills, analysis and research focused on current cybersecurity issues.

Certificate Objectives

With the advent of greater network, application, and infrastructure connectivity there are more advanced methods of cyber-attack. This certificate program focuses on both the technical and analytical aspects of advanced cyber security and defense.  Graduates of this certificate program will learn how to mitigate known cyber-related attacks against multiple network and infrastructure devices.  Graduates will also learn how to design secure solutions, analyze new cyber-attacks and provide solutions that balance risk, security, privacy, cost, and operations.  Each course in this certificate program provides project-based opportunities to extend technical skills in programming, network, operating system, infrastructure design and analysis as well as understanding prevention of cybersecurity breaches and incidents

Certificate Eligibility

A BS or equivalent in Computer Science is ideal. Applicants with BS degrees other than computer science will be individually evaluated for adequate knowledge in programming, algorithms, and system design and may be assigned additional courses to take as part of the certificate program to address deficiencies in background.

Students currently in BS-CS degree or in CS Scholars (Dual BS-MS) program at CU Denver need to have completed the undergraduate Operating Systems & Computer Networks and the recommendation of their academic advisor

Process to Attain Certificate Objectives

Student will need to complete a sequence of four separate graduate-level courses

  • CSCI 5742 —3 credits - Cybersecurity Programming and Analysis
  • CSCI 5743 —3 credits – Cyber and Infrastructure Defense

Two of the following: (depending on student background)

  • CSCI 5573 —3 credits – Operating Systems
  • CSCI 5765 - 3 credits – Computer Networks
  • CSCI 5799 – 3 credits – Cloud Computing

Students must take and pass each course with a grade of B- or better and earn a GPA of at least 3.0 to obtain the Cyber Security and Defense Certificate.

Course Objectives

Cybersecurity Programming and Analysis

This course covers programming concepts related to the security of operating systems, applications, networks, and mobile devices. This course will explore:

  • Principles of network, database and operating system cybersecurity
  • Use of multiple cybersecurity-related programming languages
  • Building and extending existing scanning software
  • Analysis and reporting of XML or JSON based cyber related data stores
  • Analysis and reporting of cyber related NIST data stores
  • Log analysis through programming and scripting
  • Database programming and attack mitigation
  • Analysis of intrusion prevention data
  • Use of existing tool vs new tool creation analysis

Cyber Infrastructure and Defense

This course covers analysis and defense techniques for operational networks and critical infrastructure.  This course will explore:

  • Design and use of cryptographic systems
  • Network security firewalls and devices
  • Intrusion detection systems
  • Malware detection
  • Distributed Denial of Service
  • Infrastructure and Application attacks
  • Emerging cybersecurity defense methods

Operating Systems

Students study the principles of computer operating systems and their essential components. Team projects expose students to a variety of system design issues as they relate to the functionality and performance of the system.

Computer Networks

An in-depth study of active research topics in computer networks

Cloud Computing 

This course studies fundamental designs and key technologies in Cloud Computing by reading technical articles, and conducting a semester group project.