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.
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.
This course will address a specific area of study in computer science not already covered by other course offerings. Prerequisites vary by topic.
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.
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.
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.
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.
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.
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
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.
This course will address a specific area of study in computer science not already covered by other course offerings. Prerequisites vary by topic.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
This course will address a specific area of study in computer science not already covered by other course offerings. Prerequisites vary by topic.
This course will address a specific area of study in computer science not already covered by other course offerings. Prerequisites vary by topic.
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.
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.
This course introduces students to fundamental concepts in autonomous, mobile robotics. Robot behaviors are programmed. Lab and programming required.
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.
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.
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.
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.
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.
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.
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.
This course will address a specific area of study in computer science not already covered by other course offerings. Prerequisites vary by topic.
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.
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
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.