Computing Science Courses
The following is a comprehensive list of Computing Science course offerings. The most up-to-date information about the Computing Science courses can always be found in the ̽»¨×å academic catalog​.
CS102 Introduction to Computational Thinking (2; F) This course introduces students to the computer science profession and how it affects our society, common computer science related industry practices/processes, and the ̽»¨×å computer science and cybersecurity curricula. After learning about design thinking and computational thinking process, students will work in teams to apply design thinking and computational fundamentals to define and solve problems. This is a project-based course. Students with computer science experience are waived from this course requirement with approval of the School Director.
CS 150. Personal Productivity Using Technology (3; F, S) Three hours per week. Students will learn to enhance their personal productivity and problem solving skills using end-user tools including word processing, spreadsheets, presentation and Internet tools. Satisfies the University Core Curriculum Technology requirement.
CS-155 Foundations of Computer Science (3; F) Principles and application of computer hardware, systems software and computer networking will be explored. This practical course would include installations, configuration, maintenance, upgrades and operations experiences.
CS 158. Fundamentals of programming (4; F,S) Four hours per week. This course may not be taken for credit after credit has been earned in CS 160. Fundamental strategies needed for successful systems development. Topics include algorithm and program development using modularization, selection, sequence and iteration constructs.
CS160. Application Development II (4; F, S) Four hours per week. Pre-requisites: CS 158 with a minimum grade of "C" or consent of a CS faculty member. - Must be completed prior to taking this course.Continuation of CS 158 to include designing and analyzing solutions, testing and debugging, and documentation. Topics include collections, file processing, creating and testing classes, encapsulation, and inheritance.
CS 199. Introduction to Special Topics in Computing Science (var. 1-4) This course may be offered on demand. Covering predetermined introductory special topics of student interest and computing science information systems significance.
CS 260. Object-Oriented Programming (4; F, S) Four hours per week. Prerequisite: CS 155 and CS155 or consent of a CS faculty member. Continuation of CS 158 to include more advanced topics. This course introduces the principles and practices of object-oriented (OO) programming. Topics include pointers, structured data, creating and testing classes, encapsulation and inheritance. The concepts are utilized in project-based tasks.
CS 300. Advanced Programming (3) Three hours per week. Prerequisite: CS 160. May be repeated once for credit when subject matter changes. Special topics in programming.
CS 305. Human Computer Interaction (3) Three hours per week. Prerequisite: CS 160. Basic principles, procedures, and models of human computer interaction are discussed and applied through development of various prototypes. Usability engineering and research in human computer interaction are also addressed.
CS 307. Python Programming (3) Three hours per week. No prerequisite. This course focuses on development of practical Python programming skills through project-based application. The course discusses powerful features of the Python programming language itself, which allow students to quickly and easily manipulate data in ways not found in other languages. Application of modules to solve domain-specific challenges, such as in scientific computation, data visualization and analysis, application development, and machine learning.
CS 330. Networks & Wireless Communication (3; F) Three hours per week. Prerequisite: CS 155 and CS 158. This course introduces the fundamentals of data communication and computer networking. Topics include local area and wide area networks; circuit and packet switching; Internet routing; IPv4 and IPv6 addressing; network interconnection with routers and switches; datagram encapsulation and fragmentation; UDP and TCP; the domain name system (DNS); wireless networks; and application layer protocols such as HTTP and SMTP; packet analysis.
CS 340. Data Structures (4; S) Four hours per week. Prerequisite: CS-160 or CS-170; with a minimum grade
C - Must be completed prior to taking this course.
MATH-150 - Must be taken either prior to or at the same time as this course. Prerequisite
or co-requisite: MATH 150. This course focuses on object oriented methodologies. Emphasis
will be on algorithm analysis and construction and application of abstract data types
such as lists, stacks, queues and trees.
CS 341. Introduction to Cybersecurity (3; F) Three hours per week. Prerequisite: CS 160. Overview of cybersecurity topics, including malware, rough Wi-Fi, phishing, spyware, firewalls, identification and authorization, penetration testing, software security, intrusion detection, wireless and mobile security.
CS 342. Data Structure (3, S) Three hours per week. Prerequisite: CS 260. This course focuses on algorithm analysis and construction and application of abstract data types such as lists, stacks, queues and trees. A study of algorithm design and analysis, including greedy algorithms, divide and conquer, dynamic programming. Some advanced data structures and algorithms are introduced. There is an emphasis on the verification and analysis of time and space complexity.
CS 345 SI. Network Security (3; S) Three hours per week. Prerequisite: CS 301 and CS 330. Topics include router and switch architecture, firewall, host security, authentication, cryptography, email security, denial of service attack. Wireless and mobile security topics are also covered. This course is speech intensive with instruction on presentation strategies.
CS 350. Architecture and Organization (3; F) Three hours per week. Prerequisites: CS 160. This course is a two-part course. The hardware portion covers fundamental digital circuits, processor design, and related topics culminating in creation of a simple digital circuit project. The software portion covers assembly language, including macros, linking and loading. Other topics include input/output facilities, multiprogramming, multiprocessing and real time programming.
CS 352 Game Development (3,) Prerequisite: MART 261. This course examines the core process of game design, from ideation and structured brainstorming through the examination of industry standard processes and techniques for documenting and managing the design process. This course specifically develops techniques for creating in a game development-specific context, and for world and character design. Specific emphasis is placed on the ethical and cultural issues related to the design and development of interactive software and the role of individuals in a team-oriented design methodology.
CS 355. Programming Languages (3) Three hours per week. Prerequisite: CS 340. Formal definition of languages, including syntax and semantics. A comparative study of major programming languages. Global properties of languages. Effective programming design techniques.
CS 360. Database Design & Development (3; F) Three hours per week. Prerequisite: CS 260. This course presents database design and processing concepts. Topics will include data modeling, database processing, SQL, security, recovery, and concurrent access. Extensive work in implementing solutions is required.
CS 362. Systems Administration (3; F) Three hours per week. Prerequisite: CS 301 and CS 303. Technical knowledge and practical experience in managing computer systems running various operating systems. Topics covered include installation, configuration, updates, and troubleshooting of hardware and software components, adding users, groups and roles to the system, maintaining network to ensure that it is secure and operating properly, analyzing network to track performance and boost speed and efficiency.
CS 377. Social Issues and Professional Practice (3; ) Three hours per week. Prerequisite: Junior standing. This course is intended to enable students to understand and to respond to the legal and ethical issues that arise from the utilization of information technology. Students will explore ethical and social issues arising from the computerization of industry and government, with emphasis on copyright, security, and privacy issues.
CS 380. Web Programming (3; S) Three hours per week. Prerequisites: CS 158 and CS 330. In this course, students will plan, implement, design, and develop client-side web-based projects using HTML5, CSS, and JavaScript. Topics include the use of multimedia, forms, responsive design, jQuery, AJAX. Exposure to web development frameworks.
CS 382. Algorithms (3, F) Three hours per week. Prerequisite: CS260. A detailed study of algorithm design and analysis, including greedy algorithms, divide and conquer, dynamic programming, backtracking, and branch and bound. Some advanced data structures and parallel distributed programming are introduced. There is an emphasis on the verification and analysis of time and space complexity.
CS 392. Data Driven Web Application Development (3; S) Three hours per week. Prerequisite: CS360 and CS380. This course focuses on server-side web development, database connection and operations through web application. Students learn to employ a server-side programming language and use SQL commands to develop data-driven Web applications considering security and deployment.
CS 395SI. Software Engineering (4; F) Four hours per week. Prerequisites: CS 360 and CS 376SI. The lifecycle of a software system, including requirements elicitation, analysis and specifications; design; construction, verifications and validation; deployment; and operation and maintenance will be the focus of the course. Tools used by practicing software engineers will be used to develop, analyze and model software artifacts. Practice will be provided for cooperative work within a project team. This course is speech intensive with instruction on presentation strategies.
CS 397. Data Driven Mobile Application Development (3; F) Three hours per week. Prerequisite: CS360 and CS380. This course focuses on mobile application development, connecting and processing data through the mobile application. Students learn to apply a mobile application design, development, and development on iOS, Android, or Windows using APIs as middleware. In addition, students will create data-driven projects based the mobile operating systems.
CS 405. Artificial Intelligence (3) Three hours per week. Prerequisite: CS 340. This course introduces the basic ideas and techniques underlying the design of intelligent computer systems. A specific emphasis will be on the methodology used to treat knowledge representation, formal logic (classical propositional logic, first order predicate logic, automated theorem proving), pattern recognition; natural and programming language processing.
CS 414. Penetration Testing and Digital Forensics (3; F) Three hours per week. Prerequisite: CS 330 and CS 341. The course would include both the concepts and tools of penetration testing and digital forensics. It will include use of scripting and tools of Kali Linux, and ethics of hacking, scanning tools, sniffers, network vulnerabilities, password cracking, spoofing, session hijacking, denial of service attacks, buffer overflows, programming exploits, and web application vulnerabilities. Other topics may include introduction to investigator’s tools, data acquisition methods, processing crime and incident scenes, working with Windows and Linux systems, recovering graphics files, forensic analysis and validation, forensics of virtual machines, networks and emails.
CS 427. Intrusion Detection (3; F) Three hours per week. Prerequisite: CS 301 and CS 330. Technical knowledge, insight, and hands-on training necessary to analyze network traffic for signs of intrusion. Students will gain hands-on experience to configure and master open-source tools such as tcpdump and Wireshark.
CS 440. Special Topics in Computer Science (3) Three hours per week. Prerequisite: Consent of instructor. May be repeated for credit when topic changes. Selected topics of student interest and of significance in the field of computing science.
CS 441. Operating Systems (3; F) Three hours per week. Prerequisite: Junior Standing. An introduction to operating systems. Topics include how operating systems are used to implement functions such as process management, memory management, file management, and I/O management. A portion of the course is devoted to shell programming in a Linux environment. Also included are system utilities, system administration and system security.
CS 450. Modeling and Simulation (3) Three hours per week. Prerequisites: CS 245 and MATH 205 or MATH 316. Relevant theoretical and numerical tools are explored for building models of complex physical phenomena and to simulate their behavior using computers. Students learn fundamental concepts and implementation of algorithms in various scientific programming environments. Throughout, applications in the sciences are emphasized.
CS451. Applied Data Mining (3) Three hours per week. Students will be introduced to the overview of the applications, methods, tools and technologies that constitute data science and data mining. Students will use data mining tools and modules to apply the machine learning and data mining algorithms on datasets.
CS 452. Advanced Game Production (3). Three hours per week. Prerequisite: MART 352. May be repeated for credit. Advanced development in planning, implementing, and troubleshooting applications and interfaces for games and interactive media.
CS 455WI. Project Management (3): Three hours per week. This course examines the factors necessary for the successful management of projects. Both technical and behavioral aspects of project management are discussed. Topics include project management concepts, needs identification, the software project management, project communications, RFP analysis and proposal development, project planning, scheduling, control and associated costs. Students will learn the skills necessary to manage their teams, schedules, risks, and resources to produce a desired outcome.
CS 456. Computing Science Capstone (3; S). Three hours per week. Prerequisite: Senior Standing. Students will work on a project from proposals approved by our faculty. This course involves intensive development and enhancement of computer science studies concentration, specifically writing and oral communication for professionalism including: requirement specification, design specification, implementation specification, storycards. Includes implementation, testing, and deployment of the product.
CS 465 WI. Cybersecurity Practicum (4; S) Three hours per week. Prerequisite: CS 427 and senior standing. Students will complete a high level practical project related to cybersecurity. All phases of the project will be documented.
CS 490. Computing Science Internship (var. 1-12) Work experience in computing in business, industry, and government. Student must make application and have demonstrated expertise in computing. Internship paperwork required. The CS Internship should be supervised by a full-time CS faculty. The job description should be related to computing science or cybersecurity. An oral or written report is required by the end of each internship session.