Program Overview

  • Duration

    6 Months (Self-Paced) Program

  • Total Courses

    05

  • Total Credit Hours

    30

Our Software Engineering program is designed to mold future software architects and developers. Students embark on a journey to master software design, development methodologies, and project management. Through a blend of theoretical knowledge and practical application, they learn to create efficient, scalable, and secure software solutions that drive innovation and meet the demands of an ever-changing technology landscape.

Explore the fundamentals of software security, covering the principles of software security, threat analysis, and security measures in software development. Analyze software security practices, security testing, and secure software design.


Discuss the introduction to software engineering, emphasizing the principles of software development, software project management, and software development methodologies. Analyze software development processes, software project planning, and software engineering practices.


Learn about data structures, focusing on the study of data organization, data manipulation, and data storage in software development. Analyze data structure design, algorithms, and data management in software applications.


Explore the introduction to object-oriented programming, covering the principles of OOP, object-oriented design, and software development using OOP languages. Analyze OOP principles, OOP languages, and the role of OOP in software development.


Explore the design and architecture of operating systems. Study concepts related to process management, memory management, file systems, and security in modern operating systems.

TUITION

Fees Breakdown Cost
GRADUATE DIPLOMA IN COMPUTER SCIENCE $6,450
Medical Insurance $0.00
Personal Expenses $0.00
Study Materials $0.00
Food Cost $0.00
Total Tuition Fee $6,450
WHERE AFFORDABILITY

Meets Opportunity

At the University of North Carolina, we champion the synergy of affordability and opportunity. Our unwavering dedication to accessible education ensures that exceptional learning doesn't come with an exorbitant price. We unlock the gates to knowledge, extending students the opportunity to flourish without the heavy weight of overwhelming tuition costs, empowering them for a brighter, more promising future.

Our Eligibility Criteria

Explore UONC’s Eligibility Criteria for Students Worldwide

Eligibility Criteria

Bachelor's degree, or equiv. International Education

Credit Hours

30

Course Duration

6 Months (Self-Paced) Program

Courses Offered

05

TECHNICAL FOUNDATION AND PROGRAMMING PROFICIENCY:

The College of Computer Science is designed to establish a strong technical foundation and proficiency in programming. Students start by building a solid understanding of computer science fundamentals and gain hands-on experience in coding and software development. This technical base prepares students for a successful career in the ever-evolving world of technology.

INDUSTRY CONNECTIONS AND TECH COMMUNITY INVOLVEMENT:

Beyond the classroom, our Computer Sciences program places a significant emphasis on fostering industry connections and involvement in the tech community. Students have opportunities to participate in hackathons, tech conferences, and internships with leading tech companies. These experiences not only enhance their technical skills but also provide valuable insights into the tech industry.

GLOBAL TECH INNOVATION AND COLLABORATIONS:

The College of Computer Science at University of North Carolina is committed to fostering global tech innovation and promoting collaborative ventures. Our curriculum incorporates international perspectives in technology and encourages students to work on projects with global reach. Additionally, we offer study abroad programs and collaborate with tech professionals from around the world, enabling students to gain a global perspective on computer sciences.

Fundamentals Of Software Security (SEN-018)

TOPICS COVERED IN THIS COURSE
  In Section 1 of this course you will cover these topics:
     A Fault Model For Software Security Testing
     Attacking Software Dependencies
  In Section 2 of this course you will cover these topics:
     Breaking Security Through The User Interface
     Attacking Design
  In Section 3 of this course you will cover these topics:
     Attacking Implementation
  In Section 4 of this course you will cover these topics:
     Putting It All Together
  In Section 5 of this course you will cover these topics:
     Some Parting Advice

Introduction To Software Engineering (SEN-098)

TOPICS COVERED IN THIS COURSE
  In Section 1 of this course you will cover these topics:
     Introduction To Software Engineering
     Object-Oriented Paradigm Overview
     Object-Oriented Analysis
  In Section 2 of this course you will cover these topics:
     Product Design
     Class Design
  In Section 3 of this course you will cover these topics:
     Implementation
     Testing
  In Section 4 of this course you will cover these topics:
     Project Management
     Design Patterns
  In Section 5 of this course you will cover these topics:
     Software Development Horror Stories
     Completing And Presenting The Class Project

Data Structures (SEN-194)

TOPICS COVERED IN THIS COURSE
  In Section 1 of this course you will cover these topics:
     Software Engineering Principles And Java Classes
     Inheritance And Exception Handling
     Array-Based Lists
  In Section 2 of this course you will cover these topics:
     Linked Lists
     Recursion
  In Section 3 of this course you will cover these topics:
     Stacks
     Queues
  In Section 4 of this course you will cover these topics:
     Search Algorithms
     Sorting Algorithms
  In Section 5 of this course you will cover these topics:
     Binary Trees
     Graphs

Introduction To Object Oriented Programming (SEN-259)

TOPICS COVERED IN THIS COURSE
  In Section 1 of this course you will cover these topics:
     C++ Basics
     Flow Of Control
     Function Basics
     Parameters And Overloading
  In Section 2 of this course you will cover these topics:
     Arrays
     Structures And Classes
     Constructors And Other Tools
     Operator Overloading, Friends, And References
  In Section 3 of this course you will cover these topics:
     Strings
     Pointers And Dynamic Arrays
     Separate Compilation And Namespaces
     Streams And File I/O
  In Section 4 of this course you will cover these topics:
     Recursion
     Inheritance
     Polymorphism And Virtual Functions
     Templates
  In Section 5 of this course you will cover these topics:
     Linked Data Structures
     Exception Handling
     Standard Template Library
     Patterns And Uml

Introduction To Operating Systems (ITE-788)

TOPICS COVERED IN THIS COURSE
  In Section 1 of this course you will cover these topics:
     Fundamentals Of Operating Systems
     Operating-System Concepts
     Operating System Structures
  In Section 2 of this course you will cover these topics:
     Processes
     Operations On Processes And Interprocess Communication
     Threads
  In Section 3 of this course you will cover these topics:
     Cpu Scheduling
     Scheduling Algorithms
     Deadlocks
  In Section 4 of this course you will cover these topics:
     Prevention, Avoidance And Recovery From Deadlocks
     Main Memory Management-Fragmentation
  In Section 5 of this course you will cover these topics:
     Main Memory Management-Paging
     Virtual Memory Management