Computer Science (CSC)

CSC-1010  Introduction to Computer Science  (4 semester hours)  

This course is an introduction to computer science and the fundamentals of human computer interaction. Technological topics include hardware components and their function, software, databases, the Internet and Intranets. Current sociological computing issues will be discussed, along with emerging technologies and their current and future impact on society. Programming in Visual Basic or VBA will be introduced.

CSC-1700  Introduction to Computer Programming  (4 semester hours)  

This course provides an introduction to computer programming, with a focus on problem solving and algorithm development using a procedural approach. Topics include basic logic structures, looping, one- and two- dimensional arrays, I/O, and modularization of code. Extensive programming is required.

Co/prerequisite(s): MTH-1100 or higher.
CSC-1810-9  Selected Topics in Computer Science  (Variable semester hours)  

This course will address a specific area of study in computer science not already covered by other course offerings. Prerequisites vary by topic.

CSC-2150  Data Structures & Algorithms  (4 semester hours)  

Formerly CSC-3630. This course is a continuation of CSC1700 with a focus on advanced data structures: stacks, queues, priority queues, lists, binary trees, and hash maps. Advanced coding practices, algorithm design, recursive functions, and sorting and searching techniques are studied and utilized in various programming projects. Extensive programming is required.

Prerequisite(s): CSC-1700 with a grade of "C" or better.
CSC-2200  Web Application Development  (4 semester hours)  

This course is an introduction to web-based software development focusing on client-side web technologies to build dynamic and robust websites. Topics include HTTP protocols, PHP, HTML, CSS, JavaScript and AJAX. Programming is required.

Prerequisite(s): CSC-1700.
CSC-2300  Computer Systems and Architecture  (4 semester hours)  

This course covers the mechanics of information transfer and representation between system components. Topics include addressing modes, CPU organization, ALU, bus structures, data organization, interrupts, input/output and instruction sets.

Prerequisite(s): CSC-1700.
CSC-2450  Operating Systems Admininstration  (4 semester hours)  

This course covers core principles of operating systems: process management, memory management, and file systems. Students also learn command line manipulation, shell programming, and other requirements for the administration of systems. Cloud services are also discussed. Programming is required.

Prerequisite(s): CSC-2150
CSC-2550  Network Communications  (4 semester hours)  

This course is an introduction to computer networking and data communications. Topics include various network types, TCP/IP protocols, data transmission techniques, network security, wireless and mobile networks, and network topologies.

Prerequisite(s): CSC-2300.
CSC-2650  Data Structures & Algorithms  (4 semester hours)  

This course is a continuation of CSC1700, with a focus on advanced object-oriented programming techniques including event-driven programming and advanced graphical user interfaces. Topics include encapsulation, polymorphism, persistence, inheritance, exceptions, and recursion

Prerequisite(s): CSC-1700.
CSC-2660  Object Oriented Programming  (4 semester hours)  

Formerly CSC-2650. This course is a continuation of CSC-1700, with a focus on advanced object-oriented programming techniques including event-driven programming and advanced graphical user interfaces. Topics include encapsulation, polymorphism, persistence, inheritance, exceptions, and recursion.

Prerequisite(s): CSC-1700.
CSC-2810-9  Selected Topics in Computer Science  (Variable semester hours)  

This course will address a specific area of study in computer science not already covered by other course offerings. Prerequisites vary by topic.

CSC-3100  Operating Systems  (4 semester hours)  

This is an advanced course on operating system design and implementation. Utilizing Java, the concepts of process and memory management are explored in connection with multithreading. Additional topics include kernels, semaphores, mutual exclusion, deadlocks, access control, scheduling and message passing. Programming is required.

Prerequisite(s): CSC-2300; CSC-2660.
CSC-3200  UNIX/LINUX Administration  (4 semester hours)  

This is an advanced course on administering Unix and Linux systems. Students will be required to configure and use a Linux computer throughout the course. Topics include command line manipulation, shell programming, process scheduling, user administration and package management. Lab and programming required.

Prerequisite(s): CSC-1700.
CSC-3250  Object Oriented Software Design and Development  (4 semester hours)  

This course covers object-oriented programming techniques to design and develop large-scaled software solutions. Topics include design patterns, UML modeling, unit testing, encapsulation, polymorphism, persistence, and inheritance. Extensive programming is required.

Prerequisite(s): CSC-2150.
CSC-3350  Networks and Security  (4 semester hours)  

This course is an introduction to computer networking and data communications, and the skills needed to identify, lockdown, and secure a small to medium enterprise branch network. Topics include various network types, TCP/IP protocols, data transmission techniques, wireless and mobile networks, network topologies, and various network security protocols. This course will enhance specific skills in developing a secure infrastructure, recognizing threats, and mitigating security threats.

Co/prerequisite(s): CSC-2450.
CSC-3400  Computer Security  (4 semester hours)  

This course is an introduction to the core principles of computer security. Topics include network security, database security, security auditing, data encryption, operating system security, vulnerabilities, user authentication, access control, malicious software, secure software development techniques, firewalls and intrusion detection, site security, legal and ethical security issues, and risk management.

Prerequisite(s): CSC-1700.
CSC-3410  Network Security  (4 semester hours)  

This course teaches skills that identify, lockdown, and secure vulnerabilities in a small to medium enterprise branch network. This course will also help enhance specific skills in developing security infrastructure, recognizing threats, and mitigating security threats.

Prerequisite(s): CSC-2550.
CSC-3420  Information Security and Risk Mitigation  (4 semester hours)  

This course identifies vulnerabilities and inherent risks of computer systems. It also introduces cost-effective risk analysis techniques for identifying and quantifying accidental and malicious threats to computer systems, and developing contingency and recovery plans.

Prerequisite(s): CSC-3410.
CSC-3510  Software Testing Verification, Validation and Quality Assurance  (4 semester hours)  

This course will cover both the theory and application of software testing. Types of testing include: functional, syntax, white-box based tools, code inspections including debugging, verification of program correctness, and software safety. Students will work on projects that integrate learned testing frameworks and methods of code development to develop and test existing or new code.

Prerequisite(s): CSC-2660.
CSC-3610  Advanced Programming  (4 semester hours)  

This course is a continuation of CSC-2650, with a focus on advanced data structures: stacks, queues, priority queues, lists, binary trees, and hash maps. Advanced coding practices, algorithm design, recursive functions, and sorting and searching techniques are studied and utilized in various programming projects. Extensive programming is required.

Prerequisite(s): CSC-2650 or CSC-2660.
CSC-3630  Data Structures and Algorithms  (4 semester hours)  

Formerly CSC-3610. This course is a continuation of CSC-2660, with a focus on advanced data structures: stacks, queues, priority queues, lists, binary trees, and hash maps. Advanced coding practices, algorithm design, recursive functions, and sorting and searching techniques are studied and utilized in various programming projects. Extensive programming is required.

Prerequisite(s): CSC-2660.
CSC-3640  Programming Languages  (4 semester hours)  

A survey of current programming languages and how they are used to solve programming programs and manipulate data. Students will gain skill in at least 3 programming languages representing different programming paradigms. Topics include dynamic programming languages, functional programming, object-oriented programming and skills and techniques to develop skills in new languages quickly.

Prerequisite(s): CSC-1700; CSC-2660.
CSC-3700  Advanced Web Application Development  (4 semester hours)  

This course focuses on full-stack web application development that includes an examination of modern client-side and server side-technologies. Topics include server-side language(s), cookies, sessions, web server configuration, unit testing, deployment, security, and front-end and back-end web application frameworks. Extensive programming is required.

Prerequisite(s): CSC-2200.
CSC-3800  Artificial Intelligence  (4 semester hours)  

This course is an introduction to basic neural nets, expert systems and intelligent agent algorithms. Additional topics include logic programming, heuristic search strategies, pattern recognition, and natural language processing. Programming required.

Prerequisite(s): CSC-2660.
CSC-3810-9  Selected Topics in Computer Science  (Variable semester hours)  

This course will address a specific area of study in computer science not already covered by other course offerings. Prerequisites vary by topic.

CSC-3818  Selected Topics in Computer Science  (0.5-17 semester hours)  

This course will address a specific area of study in computer science not already covered by other course offerings. Prerequisites vary by topic.

CSC-3820  Secondary Methods in Mathematics and Computer Science  (4 semester hours)  

This course presents techniques that are effective in teaching in the content areas. The course includes lesson planning, classroom arrangement, curriculum design, alternative teaching strategies and evaluation. In addition to the classroom hours, there is a simultaneous practicum. This is usually the last course the student takes prior to student teaching.

Prerequisite(s): Passing an FBI national fingerprint screening that encompasses passing a criminal background/sex offender check; Passing a TB test; EDU-2100; EDU-2260; EDU-3620; EDU-3720. Placement applications for the practicum are due to the School of Education placement coordinator the January before the academic year of the practicum or for transfer students upon acceptance into the School of Education.
CSC-3830  Directed Study in Computer Science  (0.5-17 semester hours)  

This is a course in which a student or students study on campus under the close supervision of an Aurora University faculty member. This is not "field experience," does not cover material in the regular curriculum, and is not as research and/ or independently oriented in its instructional methodology as an independent study. Descriptions of directed studies are contained in the petition by which the learning experience was approved. Students should file the Directed Study Petition prior to registration. This petition must be signed/approved by the Instructor, Department chair, and Academic Dean. Regular tuition is charged, and additional fees may apply.

CSC-3850  Introduction to Robotics  (4 semester hours)  

This course introduces students to fundamental concepts in autonomous, mobile robotics. Robot behaviors are programmed. Lab and programming required.

Prerequisite(s): CSC-2300.
CSC-4100  Systems Analysis and Design  (4 semester hours)  

Methods and techniques to analyze, design, and develop software applications. Topics include working with project stakeholders, design patterns and modeling, object oriented design, test driven development, clean code development and designing for qualities such as performance, safety, security, reliability, reusability, and maintainability.

Prerequisite(s): CSC-2660.
CSC-4210  Introduction to Mobile Application Development  (4 semester hours)  

This course provides the student with the foundation necessary to build mobile applications. This course is intended for students that have experience with object-oriented programming. Lab and programming required.

Prerequisite(s): CSC-3630.
CSC-4350  Software Engineering  (4 semester hours)  

This course is an introduction to software engineering techniques used in the production and maintenance of professional software. The course examines key software development concepts such as feasibility/cost, specification, design, architecture, implementation, testing, maintenance, project management, and software tools. In addition, the course evaluates software development processes such as waterfall, agile, and DevOps. Students will work in groups to produce a useful project that could be released for real-world use.

Co/prerequisite(s): CSC-3630. It is strongly recommended that students complete CSC-3630 before enrolling in CSC-4350.
CSC-4450  Programming Languages  (4 semester hours)  

Formerly CSC-3640. A survey of current programming languages and how they are used to solve programing problems and manipulate data. Students will gain skill in at least three programming languages representing different programming paradigms and learn techniques to develop skills in new languages quickly. Extensive programming in required.

Prerequisite(s): CSC-3250.
CSC-4500  Database Design and Implementation  (4 semester hours)  

This course will address the design and implementation of relational databases in conjunction with Java-based applications. Emphasis will be on data-modeling techniques, such as ER modeling, database normalization and optimization, relational algebra, SQL, functional dependency, security, stored procedures, and transaction management. Projects will include the design of a complete database with basic application interaction.

Prerequisite(s): CSC-2150.
CSC-4610  Ethical Hacking  (4 semester hours)  

This course aims to provide knowledge and skills required to understand the mechanics behind hacking attacks, and develop appropriate safeguards. The course focuses on the code of conduct and ethics of attacking systems. The course also teaches the mindset of the criminal hacker and evolution of the hacker.

Prerequisite(s): CSC-3410.
CSC-4620  Computer Forensics  (4 semester hours)  

An introduction to the fundamental concepts behind the collection and analysis of the digital evidence left behind in a digital crime scene. Topics include the identification, preservation, collection, examination, analysis, and presentation of evidence for prosecution purposes. Discussion also covers the laws and ethics related to computer forensics and challenges in computer forensics.

Prerequisite(s): CSC-2550.
CSC-4810-9  Selected Topics in Computer Science  (Variable semester hours)  

This course will address a specific area of study in computer science not already covered by other course offerings. Prerequisites vary by topic.

CSC-4830  Directed Study in Computer Science  (0.5-17 semester hours)  

This is a course in which a student or students study on campus under the close supervision of an Aurora University faculty member. This is not "field experience," does not cover material in the regular curriculum, and is not as research and/ or independently oriented in its instructional methodology as an independent study. Descriptions of directed studies are contained in the petition by which the learning experience was approved. Students should file the Directed Study Petition prior to registration. This petition must be signed/approved by the Instructor, Department chair, and Academic Dean. Regular tuition is charged, and additional fees may apply.

CSC-4940  Computer Science Internship  (1-4 semester hours)  

An advanced academic internship experience for credit requires the student to be at least a junior in standing, although individual programs may require senior standing. The academic internship experience requires a faculty sponsor, educational criteria, and a current executed affiliation agreement and Schedule A on file. Internships can be designated as either credit/no credit or letter grade, depending on the school or program. Regular tuition is charged, and additional fees may apply.

Grading Type: Credit/No Credit

CSC-4990  Computer Science and Engineering Capstone  (4 semester hours)  

This course involves a team-based design and development of a large-scale application from conception to deployment. The team will function as a complete software development group; beginning with requirements gathering from external users, to modeling and architecting the application, to implementation, and concluding with user acceptance testing. The course is based on the culmination of knowledge and skills of the students, in an effort to simulate a real-world application development scenario.

Prerequisite(s): CSC-3700 or CSC-3400; CSC-4500; Senior Standing.