As a student in the MCIT Online Program, students have access to a Student Success Advising Team that can help them plan their course schedule and overall degree plan. Below you can find a few examples of potential course plans. Note that students can easily switch between part-time and full-time registration each semester based on how many courses they take. Enrollment in the summer semester is optional. We encourage all students to meet with a member of our Student Success Advising Team to discuss the course load and route to degree completion that best fits their needs.
*Enrollment in 1-2 courses per semester is considered part-time.
This course is an introduction to fundamental concepts of programming and computer science for students who have little or no experience in these areas. Students learn how to read and write to files, connect to databases, and use regular expressions to parse text. This course includes substantial programming assignments in both Python and Java, and teaches techniques for test-driven development and debugging code.
View Full Course DescriptionThis course introduces students to math concepts that form the backbone of the majority of computer science. Topics covered include sets, functions, permutations and combinations, discrete probability, expectation, mathematical induction, and graph theory. The goal of the course is to ensure that students are comfortable enough with the math required for most of the CIS electives.
View Full Course DescriptionThis course provides an introduction to fundamental concepts of computer systems and computer architecture. Students learn the C programming language and an instruction set (machine language) as a basis for understanding how computers represent data, process information, and execute programs.
View Full Course DescriptionThis course focuses on data structures, software design, and advanced Java. The course starts off with an introduction to data structures and basics of the analysis of algorithms. Important data structures covered include arrays, lists, stacks, queues, trees, hash maps, and graphs. The course also focuses on software design and advanced Java topics such as software architectures, design patterns, and concurrency.
View Full Course DescriptionThis course is a continuation of CIT 5930 and introduces students to fundamental concepts in computing systems. The course will use the C program language, and will develop your knowledge on C system calls, and libraries for process/thread creation and manipulation, synchronization, and network communication.
View Full Course DescriptionThis course focuses primarily on the design and analysis of algorithms. It begins with sorting and searching algorithms and then investigates graph algorithms. In order to study graph algorithms, general algorithm design patterns like dynamic programming and greedy algorithms are introduced. A section of this course is also devoted to understanding NP-Completeness.
View Full Course DescriptionElective 1
Elective 2
Elective 3
Elective 4
*Enrollment in 3-4 courses is considered full-time.
This course is an introduction to fundamental concepts of programming and computer science for students who have little or no experience in these areas. Students learn how to read and write to files, connect to databases, and use regular expressions to parse text. This course includes substantial programming assignments in both Python and Java, and teaches techniques for test-driven development and debugging code.
View Full Course DescriptionThis course introduces students to math concepts that form the backbone of the majority of computer science. Topics covered include sets, functions, permutations and combinations, discrete probability, expectation, mathematical induction, and graph theory. The goal of the course is to ensure that students are comfortable enough with the math required for most of the CIS electives.
View Full Course DescriptionThis course provides an introduction to fundamental concepts of computer systems and computer architecture. Students learn the C programming language and an instruction set (machine language) as a basis for understanding how computers represent data, process information, and execute programs.
View Full Course DescriptionThis course focuses on data structures, software design, and advanced Java. The course starts off with an introduction to data structures and basics of the analysis of algorithms. Important data structures covered include arrays, lists, stacks, queues, trees, hash maps, and graphs. The course also focuses on software design and advanced Java topics such as software architectures, design patterns, and concurrency.
View Full Course DescriptionThis course is a continuation of CIT 5930 and introduces students to fundamental concepts in computing systems. The course will use the C program language, and will develop your knowledge on C system calls, and libraries for process/thread creation and manipulation, synchronization, and network communication.
View Full Course DescriptionThis course focuses primarily on the design and analysis of algorithms. It begins with sorting and searching algorithms and then investigates graph algorithms. In order to study graph algorithms, general algorithm design patterns like dynamic programming and greedy algorithms are introduced. A section of this course is also devoted to understanding NP-Completeness.
View Full Course DescriptionElective 1
Elective 2
Elective 3
Elective 4
# of Semesters | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
Part-time minimum course load | 1 CU | 1 CU | 1 CU | 1 CU | 1 CU | 1 CU | 1 CU | 1 CU | 1 CU | 1 CU |
Part-time maximum course load | 2 CU | 2 CU | 2 CU | 2 CU | 2 CU | |||||
Full-time minimum course load | 3 CU | 3 CU | 3 CU | 1 CU* | ||||||
Full-time maximum course load | 3 CU | 3 CU | 4 CU | |||||||
CU: Course Unit. | *part-time |