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 Jacksonville University academic catalog.
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 158. Application Development I (4; F) 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.
CS 160. Application Development II (4; S) Four hours per week. Prerequisite: CS 158 or consent of a CS faculty member. 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 170. Introduction to Scientific & Engineering Programming (3; S) Three hours per week. Prerequisites: MATH 140 and either CHEM 103, PHYS 151 or PHYS 111. A problem solving course with emphasis on scientific and engineering algorithms and program design. Students complete a variety of laboratory exercises.
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 220. Introduction to Computer Systems (3; S) Three hours per week. Principles and application of computer hardware, systems software and computer networking will be explored through lectures, installations, configuration and operations experiences.
CS 245. Algorithms (3; F) Three hours per week. Prerequisite: CS 160. 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 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 301. 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 303. Operating Systems (3; F) Three hours per week. Prerequisite: CS 160 or equivalent. 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 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 309. Mobile Applications (3) Three hours per week. Prerequisite: CS 340. Topics include the design and development of software for mobile devices, taking into consideration platform specific constraints. May be repeated once for credit when platform API changes.
CS 330. Networks & Wireless Communication (3; S) Three hours per week. Prerequisite: CS 158. This course introduces data communication and telecommunication models and standards. Concepts and standard organizations will be studied including wireless networking, location-aware computing, and ad-hoc networks. Installation, configuration, systems integration and management of the technologies will be practiced.
CS 340. Data Structures (4; S) Four hours per week. Prerequisites: CS 245. 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 345 SI. Internet 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 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. Prerequisites: CS 150 and CS 160. 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 365SI. System Analysis & Logical Design (3; F) Three hours per week. Prerequisite: CS 160. Speech-intensive with instruction on presentation strategies. Emphasis will be on systems planning, definition and analysis through the use of tools and techniques for describing data, process and object models. Practice will be provided for cooperative work within a project team.
CS 366. Physical Design & Implementation (3; S) Three hours per week. Prerequisite: CS 360 and CS 365SI. Students who have completed the Systems Analysis and Logical Design course will extend their knowledge by designing and implementing an information system. Emphasis will be on designing and providing systems integration, support and maintenance in a programming environment. Further practice within a project team will be provided.
CS 376. Social Issues and Professional Practice (2; S) Two 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 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 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 301 and CS 330. A detailed study of penetration testing and forensics techniques and tools, including pen test planning and scoping, in-depth scanning, exploitation and post-exploitation, password attacks, wireless and web apps penetration testing, computer forensics, network forensics, and smart phone forensics.
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 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.
CS 455WI. Project Management & Practice (3; S) Three hours per week. Prerequisite: CS 366 or CS 395SI, senior status and consent of CS faculty advisor. CS majors will complete the design and implementation of a significant information system. Project management and systems integration will be components of the project experience. Students will write documentation for all phases of the project.
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. Computer Internship (var. 1-6) Open to qualified seniors and second-term juniors. Work experience in computing in business, industry, and government. Student must make application and have demonstrated expertise in computing.