Computer Science (CSC)

CSC104  Linux Programming Environment  (3 course hours)  

In this class, students will learn the ins and outs of the Linux Operating System from a software developer s perspective. Students will learn how to use the powerful command line tools that are available on this platform and will create different kinds of shell scripts to automate complex operations. Students will learn how to use different editors, manipulate the filesystem, transfer files between computers, use debuggers and much more. This is a foundational class that will provide a solid base of industry-relevant skills which will be built upon for the remainder of the program and beyond.

CSC106  Object Oriented Programming  (3 course hours)  

This course reinforces and extends students' understanding of current practices of developing object-oriented software. Students gain a deeper understanding of concepts from CSC110, including implementations of abstract data types, basic GUI interfaces, exception handling, recursion, and event driven programming.

CSC110  Introduction to Programming in C  (3 course hours)  

In this class, students will learn the basics of the C programming language. This is a foundational class that will provide a base of knowledge that will be drawn upon for many of the other classes in the Computer Science Program. This class is intended for Computer Science majors. No prior programming experience is assumed.

Students should have a minimum of 3 years of high school math before registering for this course.  
Course offered: FAL  
CSC202  Data Structures and Algorithms  (3 course hours)  

This course reinforces and extends students understanding of current practices of developing object-oriented software. Students gain a deeper understanding of concepts from CS 101, including implementations of abstract data types, basic GUI interfaces, exception handling, recursion, and event driven programming.

Pre-requisites: CSC110  
CSC205  Software Design Patterns & Princ  (3 course hours)  

In this class, students will dive into the details of how to create flexible and sustainable software solutions by employing standard Software Design Patterns and Principles. This hands-on class assumes a strong understanding of Object Oriented programming concepts. This class is intended for Computer Science majors and minors alike.

Pre-requisites: CSC106  
Course offered: FAL  
CSC212  Database Systems  (3 course hours)  
Pre-requisites: CSC202  
CSC302  Data Structures & Algorithms II  (3 course hours)  

In this class, students will explore data structures and algorithms in more depth. Students will become familiar with the different families of algorithms and will implement many of them. There will be a strong emphasis on theory and your ability to apply it using the Java programming language.

Pre-requisites: CSC106 CSC202  
Course offered: OSPR  
CSC310  Computer Operating Systems and Architecture  (3 course hours)  

This class will cover the basic concepts of Operating Systems and Computer Architecture. Several topics will be covered in depth through hands-on programming and exploration. Processes, threads, I/O, memory management along with several other topics will be covered.

CSC314  Computer Networks  (3 course hours)  
CSC410  Software Engineering  (3 course hours)  

Basic concepts and principles of software engineering, its tools and techniques, and methods for modeling software systems. Topics include requirements elicitation, prototyping, functional and non-functional requirements, requirements tracking, software evolution, design models, architectural principals and testing.

Pre-requisites: CSC301  
CSC420  Cloud Computing  (4 course hours)  

In this class, students will learn about modern, cloud-based applications. Students will learn about common architectures, platforms, frameworks and middleware that are used to build cloud-based applications that run at scale. This class includes one major project that students will iterate over for the entire semester. A weekly one-hour lab is included for instructor-led collaboration and project work.

Pre-requisites: CSC202 CSC212  
Course offered: OSPR  
CSC490  CS Senior Project  (3 course hours)  
Pre-requisites: CSC480  
CSC495  CS Internship  (3 course hours)  

A supervised experience designed and tailored by the student and the program's coordinator.

Pre-requisites: CSC301