Department of Computer and Information Sciences

Dr. Alberto LaCava, Chairperson

The Department of Computer and Information Sciences offers four programs leading towards the Bachelor of Science degree in Computer Science. Students may concentrate in Computer Information Systems, Cyber Security, Artificial Intelligence and Machine Learning or Computer Science. Transfer students who major in CS must complete a minimum of six CS and/or IS courses at the University for the Bachelor of Science degree. For students not majoring in Computer Science, we offer Minors in Computer Science and Cyber Security. For students majoring in Criminal Justice, the Department offers a concentration in Cyber Security and Computer Forensics.

Requirements for Computer Science Major/Computer Information Systems Option

Degree of Bachelor of Science

This option is designed for those who wish to become programmers or systems analysts. Application programming and business information systems are studied. Six of the required credits for the major count towards the Core Curriculum Requirements.

MA-123Elementary Calculus I (Core Math)3
MA-124Elementary Calculus II (Core Math)3
CS-177Intr to Computer Science & Cybersecurity3
CS-180Introduction to Programming3
CS-231Software Engineering3
CS-298Cyber Security Virtual Internship3
CS-332Advanced Computing3
IS-410Total Business Info Systems3
CS-370Data Structures3
Choose 4 of the following:12
Elementary Statistics
Mathematics of Finance
Computer Mathematics
Quantitative Methods for Business
Intermediate Statistics
Introductory Linear Algebra
Transition to Advanced Mathematics
Intermediate Discrete Mathematics
Topics in Linear Algebra
Capstone for Computer Science
CS/IS-
CS or IS Electives (IS-230 or higher OR CS-300 or higher) 1
Total Credits39

Special Note on Core Curriculum Requirements for Computer Science Major/Computer Information Systems Option

Special Notes on Major Requirements for Computer Science Major/Computer Information Systems Option

Requirements for Computer Science Major/Cyber Security Option

Degree of Bachelor of Science

This option is designed for those who wish to learn the technology and security architecture that is necessary to help protect and defend information systems from cyber-attacks. 

MA-123Elementary Calculus I (Core Math)3
MA-124Elementary Calculus II (Core Math)3
MA-212Elementary Statistics3
CS-177Intr to Computer Science & Cybersecurity3
CS-190Secure Software Development3
CS-231Software Engineering3
CS-332Advanced Computing3
CS-260Information Technology Ethics3
CS-339Computer Architecture & Operating System3
IS-380Database and Data Administration3
IS-381Cyber Security Planning and Risk Mgmt3
IS-425Disaster Recovery/Business Continuity3
CS-489Network Technology Protocols & Defense3
CS-495Cryptology3
CS-496Cybersecurity and Digital Forensics Lab3
CS-499Capstone for Computer Science3
Total Credits48

Special Notes on Core Curriculum Requirements for Computer Science Major/Cyber Security Option

Special Note on Major Requirements for Computer Science Major/Cyber Security Option

Requirements for Computer Science Major/Artificial Intelligence and Machine Learning

Degree of Bachelor of Science

This option is designed for those who wish to learn the technology and architecture that is necessary to use Artificial Intelligence and Machine Learning methods in the computing disciplines.

MA-123Elementary Calculus I (Core Math)3
MA-124Elementary Calculus II (Core Math)3
MA-212Elementary Statistics3
CS-177Intr to Computer Science & Cybersecurity3
CS-180Introduction to Programming3
CS-231Software Engineering3
CS-241Python Programming for Comp Scientists3
CS-332Advanced Computing3
CS-346Machine Learning I3
CS-370Data Structures3
CS/MA-337Statistical Computing With R3
CS-415Robotics Fundamentals and Programming3
CS-446Machine Learning II3
CS-470Introduction to Artificial Intelligence3
CS or IS Elective3
CS-499Capstone for Computer Science3
Total Credits48

Special Notes on Core Curriculum Requirements for Computer Science Major/Artificial Intelligence and Machine Learning Option

Special Note of Major Requirements for Computer Science Major/Artificial Intelligence and Machine Learning Option

Requirements for Computer Science Major/Computer Science Option

Degree of Bachelor of Science

This option is designed for those who wish to study the theory of programming. Any student who wishes to go to graduate school in Computer Science should consider taking this option.

Six or eight of the required credits for the major count towards the Core Curriculum Requirements.

MA-143Differential Calculus (Core Math)4
MA-144Integral Calculus (Core Math)4
CS-177Intr to Computer Science & Cybersecurity3
CS-180Introduction to Programming3
CS-231Software Engineering3
CS-332Advanced Computing3
CS-339Computer Architecture & Operating System3
CS-355Found of Programming Systems3
CS-370Data Structures3
MA-247Introductory Linear Algebra3
MA-250Transition to Advanced Mathematics3
MA-273Multivariable Calculus I4
Choose 1 course3
Intermediate Statistics
Intermediate Discrete Mathematics
Probability Theory
Mathematical Statistics
Topics in Linear Algebra
Topics in Statistics
Two Natural Science Laboratories 12
One STEM Laboratory 2
CS-499Capstone for Computer Science3
CS-CS Electives: choose 2 courses from CS-237 or CS-300-level6
CS/IS-CS/IS Electives: choose 2 courses from CS-300-level or IS-400-level6
Total Credits59

Special Notes on Core Curriculum Requirements for Computer Science Major/Computer Science Option

Special Notes on Major Requirements for Computer Science Major/Computer Science Option

Requirements for Criminal Justice Major with a Concentration in Cyber Security and Computer Forensics

For details about this program see the Criminal Justice Department.

Requirements for Minor in Cyber Security

Students Majoring in Computer Science are not eligible for this minor

IS-381Cyber Security Planning and Risk Mgmt3
CS-489Network Technology Protocols & Defense3
CS-496Cybersecurity and Digital Forensics Lab3
CSCS Electives9
Total Credits18

Requirements for Minor in Computer Science

Students majoring in Computer Science are not eligible for this minor

CSCS Electives15
CS or IS CS or IS Elective3
Total Credits18

CS Courses

CS-150. Intro Computers & Information Processing. 3.00 Credits.

Study of computer systems including programming, hardware, software, information processing using business and scientific applications, robotics, and security. Emphasis on the theoretical as well as research and development aspects of computers. Students will work on assignments/projects aligned with their major and will develop web pages. Course Type(s): Stem.

CS-157. Ms Excel for Accounting and Business Env. 3.00 Credits.

Students will gain proficiency in Microsoft Excel for accounting and business environments. The course will cover understanding basic spreadsheet terminology and navigation including filters and sorts; basic and intermediate formulas such as Dsum, Vlookup, and Match; analytical tools such as PIVOT tables; and presentation skills such as formatting, graphs, and charts. This course will use a case study approach that will enable students to learn from sample client needs and constraints (for example, putting raw data into a format needed for client analysis). Upon completion of this course, students should have a strong proficiency in Excel that they can apply in a professional capacity. Course Type(s): Stem.

CS-177. Intr to Computer Science & Cybersecurity. 3.00 Credits.

This course is an introduction to computer science and cybersecurity. The goal of the course is to teach basic principles and at the same time prepare students for a major in computer science/cybersecurity. Topics include: The von Neumann architecture, algorithms, data structures, hardware and software, application systems, programming, cyber security, information technology ethics, and data science. Course Type(s): Stem.

CS-180. Introduction to Programming. 3.00 Credits.

This course will teach job-market driven programming languages. Students will construct web pages using HTML and JavaScript, then move to C++, and finally Python. By the end of the course students should understand the concepts, methodologies, and techniques used in programming, including compilation, testing, and debugging. Programming constructs include syntax, control statements, arrays, strings, objects, and event handlers. Course Type(s): Stem.

CS-190. Secure Software Development. 3.00 Credits.

This is a programming course required for Cyber Security students. Students will learn how to write, test, and debug programs using secure programming techniques. They will learn how to identify key characteristics and design patterns for secure coding, and develop programs in a secure environment using the software development life cycle. Students demonstrate their knowledge through hands-on programs, exercises and case study assignments. Course Type(s): Stem.

CS-231. Software Engineering. 3.00 Credits.

This course will teach students how to develop a software system from scratch by guiding them through the development process and giving them the fundamental principles of system development with object oriented technology. It will also introduce students to software development methodology, project management, and systems analysis and design as a problem-solving activity. Students will work with C++ and Python using control structures, functions, return statements, reference, arrays, and pointers. Data will be read from text files and databases. Prerequisites: CS/IS-180 OR CS-190; MA-101 OR MA-105 OR MA-123 OR MA-133 OR MA-143 OR MA-273; Course Type(s): Stem.

CS-237. Java Programming. 3.00 Credits.

This course is an introduction to Java, object-oriented techniques, and Java applets for the World Wide Web. Java applications are introduced prior to applets so a student has a more thorough understanding of the programming process. Java applications are built from the beginning rather than having the user manipulate pre-written objects. Pre-requisite: CS/IS-180 Prerequisites: CS/IS-180 OR CS-190; Course Type(s): Stem.

CS-241. Python Programming for Comp Scientists. 3.00 Credits.

Python programming and coding practice. Object-oriented concepts. Python use in Artificial Intelligence applications. Prerequisites: CS/IS-180 OR CS-190; Course Type(s): Stem.

CS-260. Information Technology Ethics. 3.00 Credits.

This course addresses the assessment of ethical principles within the application of information technologies to produce and store data and disseminate and use information. It will define and discuss computer ethics within a historical, current and future perspective by dealing with ethical issues in the workplace, privacy and anonymity, property rights, professional responsibility and globalization from the viewpoint of the individual, business and government. Prerequisites: CS-150 OR CS-177 OR CS/IS-180 OR CS-190; COMPLETE 6 CREDITS: 1 COURSE FROM COURSES PL-130 PL-140 AND 1 COURSE FROM COURSES TH-110 TH-120; Course Type(s): Values.

CS-271. Decision Support Systems. 3.00 Credits.

Concepts of Decision Support Systems: Decision Support System technologies, operations research, systems analysis, decision analysis, DBMS, artificial intelligence. Decision Support System tools: data mining, data management, EXCEL. In-depth analysis of business applications, including ERP Systems, data warehouse systems and electronic commerce. Students will be required to complete a final project on designing a computer based decision support system. Prerequisites: CS-177 OR CS-180(12188) OR CS-190 OR BA-151 OR BA-155; Course Type(s): Stem.

CS-295. Credited Internships. 3.00 Credits.

CS-298. Cyber Security Virtual Internship. 3.00 Credits.

In this course, students will become "cyber interns" and work in teams with course faculty, graduate assistants, and industry experts as mentors using the iQ4 online/cloud communication platform. The goal of the course is to enable students to analyze realistic case scenarios and identify the depth and breadth of cybersecurity from multiple perspectives. Students will focus on the interrelated dimensions of threats (which may include but are not limited to technical, procedural, legal, behavioral, skills/proficiencies) and the spectrum of constituent cyber domains/functional areas in which to identify solutions. The content for the course covers core competencies e.g., knowledge, skills, and abilities relating to the identification, detection, protection against, response to, and recovery from an insider threat including how to build and maintain communications with executives, peers and regulators. In addition, essential skills (e.g., teamwork and communications skills), which are required in the workforce. The assignments in the course are designed to assess both core competencies and essential (soft/professional) skills. Course Type(s): Stem.

CS-299. Experiential Learning Internship. 3.00 Credits.

Depending on the topic, students will develop, test, and/or conduct ethical hacking on devices, games and/or other coded programming; students may also conduct computer laboratory research. Sections topics may include IoT Pentesting, Gaming Development, SIEM Splunk, CJ Digital Forensics, Cyber Security Research. Course Type(s): Stem.

CS-317. C# Programming for Web-Based Application. 3.00 Credits.

The design and construction of Web-based applications using the C# programming language. Students will learn how to build, manage, and deploy a database driven Web site. Prerequisites: CS/IS-180 OR CS-190; Course Type(s): Stem.

CS-320. Augmented Reality. 3.00 Credits.

This course covers the technical and experiential design foundation required for the implementation of immersive environments in current and future virtual, augmented and mixed reality platforms. The curriculum covers a wide range of literature and HCI concepts following the evolution of all supporting technologies including visual displays for VR, AR and MR, motion tracking, interactive 3D graphics, multimodal sensory integration, immersive audio, user interfaces, IoT, games and experience design. Course Type(s): Stem.

CS-330. Data Structures & Algorithms With Python. 3.00 Credits.

Data structures are essential to storing and organizing data within applications. Selecting the correct data structure and algorithm, is significant in the performance of the application, especially as the volume of data increases. This course covers the following topics: arrays, sorting, stacks and queues, linked lists, recursion, trees, hash tables, heaps, and graphs. A significant part of this course involves actually writing Python programs that implement the above. Prerequisites: CS-241; Course Type(s): Stem.

CS-332. Advanced Computing. 3.00 Credits.

This course will build on the CS180 and CS231 sequence. It will teach advanced concepts in job-market driven programming languages like Python, C++, PHP, Ruby, and Perl, and include the study of Data Center and Cloud Computing technology. Students will learn advanced object-oriented concepts, linked-lists, queues, stacks, maps, string processing and be able to read data from SQL Server databases. Prerequisites: CS-231; Course Type(s): Stem.

CS-337. Statistical Computing With R. 3.00 Credits.

In this course students explore the fundamental principles of statistical computing in R. Learners will engage in topics such as the fundamentals of R, data types, matrices, data frames, control structures, input/output, libraries (e.g. ggplot2), visualizations, statistical inference, and simulations. Prerequisites: MA-212; Course Type(s): Stem.

CS-339. Computer Architecture & Operating System. 3.00 Credits.

This course covers computer architecture and operating systems. From a computer architecture standpoint, we will study hardware components, gates/buses/memory, and their use in constructing adders, comparators and addressing schemes. We will also cover machine level representation of data, computer architecture and organization, assembly level machine organization, interfacing and communication, memory systems organization and architecture, functional organization, multiprocessing and alternative architectures, performance enhancements, and distributed architectures. From an operating systems standpoint, we will study privileged and non-privileged states, processes and threads (and their management), memory (real, virtual, and management), files systems, access controls (models and mechanisms), access control lists, virtualization/hypervisors, how does an OS protect itself from attack?, security design principles as applied to an OS, domain separation, process isolation, resource encapsulation, and least privilege. Prerequisites: CS-231 AND/OR CS-332; Course Type(s): Stem.

CS-346. Machine Learning I. 3.00 Credits.

Machine learning concepts include neural network and data analysis using deep learning. Classification of images and object detection using industry standard open source machine learning platform. Programs will be written in Python within a cloud computing environment. Prerequisites: CS-231 OR CS-241; Course Type(s): Stem.

CS-355. Found of Programming Systems. 3.00 Credits.

A comprehensive overview of the design and implementation of modern programming systems. Programming languages and compiling techniques, operating systems, database structures, artificial intelligence, and knowledge based systems are studied. Prerequisites: CS-231; Course Type(s): Stem.

CS-370. Data Structures. 3.00 Credits.

This course provides students with an understanding of the basic abstract data types, associated operations and applying them to solve problems. Topics include: strings, lists, vectors, arrays, heaps, queues, stacks, buffers, searching and sorting, trees, and data formats. Prerequisites: CS-332 OR MA-123 OR MA-143; Course Type(s): Stem.

CS-399. Cyber Crime: The Dark Side of the Web. 3.00 Credits.

In this course, students will become "cyber interns" and work in teams with course faculty and industry experts as mentors using the iQ4 online/cloud communication platform. The goal of the course is to enable students to analyze realistic case scenarios in fraud, cyber terrorism/warfare, extortion, cyber theft, and trafficking and identify the depth and breadth of cybersecurity from multiple perspectives. Students will focus on these types of threats: brute force attacks, ransomware, data breaches, illicit traffic, phishing, and denial of service. The content for the course covers core competencies e.g., knowledge, skills, and abilities relating to the identification, detection, protection against, response to, and recovery from cyber-attacks including how to build and maintain communications with executives, peers and regulators. Course Type(s): Stem.

CS-415. Robotics Fundamentals and Programming. 3.00 Credits.

Introduction to parallel programming in Ada and Java. Students will write programs for cell phones and intelligent devices such as a robot. Additional course fee of $75. Prerequisites: CS-231 OR CS-237; Course Type(s): Stem.

CS-446. Machine Learning II. 3.00 Credits.

Machine learning concepts include neural network and data analysis using deep learning. Classification of images and object detection using industry standard machine learning framework. Programs will be written in C# within an integrated development environment. Prerequisites: CS-346; Course Type(s): Stem.

CS-470. Introduction to Artificial Intelligence. 3.00 Credits.

Knowledge representation, cognitive simulation, machine learning, natural language processing, network technology. Prerequisites: CS-370; Course Type(s): Stem.

CS-489. Network Technology Protocols & Defense. 3.00 Credits.

In this course we will provide students with an understanding of the components in a network environment, their roles, and communication methods and the techniques that can be taken to protect network and communication assets from cyber threats. Topics include: network architectures/infrastructure/services/protocols (TCP/IP - v4 and v6, DNS, HTTP, SSL, TLS), network address translation and sub-netting, network analysis/troubleshooting, network evolution (change management, BYOD), remote and distributed management, implementing IDS/IPS, firewalls and VPNs , honeypots and honeynets, network monitoring and traffic analysis, minimizing exposure (attack surface and vectors), network access control (internal and external), DMZs / proxy servers, network hardening, mission assurance, network policy development and enforcement, network operational procedures, and network attacks (e.g., session hijacking, man-in-the-middle). Prerequisites: IS-380 OR IS-381; Course Type(s): Stem.

CS-495. Cryptology. 3.00 Credits.

This course gives a historical introduction to Cryptology, the science of secret codes. It begins with the oldest recorded codes, taken from hieroglyphic engravings, and ends with the encryption schemes used to maintain privacy during Internet credit card transactions. Since secret codes are based on mathematical ideas, each new kind of encryption method leads in this course to the study of new mathematical ideas and results. The first part of the course deals with permutation-based codes: substitutional ciphers, transpositional codes, and Vigenere ciphers. In the second part of the course, the subject moves to bit stream encryption methods. These inlcude block cipher schemes such as the Data Encryption Standard (DES). Public key encryption is the subject of the final part of the course. We learn the mathematical underpinnings of Diffie-Hellman key exchange, RSA and Knapsack codes. Software packages and tools will also be studied. Prerequisites: IS-381; Course Type(s): Stem.

CS-496. Cybersecurity and Digital Forensics Lab. 3.00 Credits.

This course is designed to provide students with hands-on experience with cyber security and digital forensics tools and the skills to apply forensics techniques throughout an investigation life cycle with a focus on complying with legal requirements. The course will accomplish its goals through lecture, classroom discussion, and a number of in-lab exercises and projects. Topics and assignments cover: network attacks, intrusion detection systems, digital forensics tools, legal compliance and applicable laws, affidavits , how to testify, case law, chain of custody procedures, digital investigations, E-discovery, authentication of evidence, metadata, root cause analysis, and using virtual machines for analysis. Additional course fee of $75. Prerequisites: IS-381 OR CS-495; Course Type(s): Stem.

CS-499. Capstone for Computer Science. GPS Mapping - Credit.

The Capstone Course offers students the opportunity to integrate the knowledge acquired in preceding computer science and information system courses. Students work on projects specific to their Computer Science concentration. Team projects in software design, programming, and implementation will be assigned. Components that are emphasized include analysis and design, team dynamics, project management, documentation, verification and validation of implementation, and communication skill (oral and written). Final projects are to be evaluated by Department of Computer Science faculty. Students present their final projects. Example of project categories: -.

IS Courses

IS-195. Information Technology Fundamentals. 3.00 Credits.

This course is the first step towards an IT career, and opens a clear pathway to more advanced training steps. At its completion, the student will be able to demonstrate understanding of basic IT concepts, terminology, infrastructure, applications, software, software development concepts, database fundamentals, security, hardware, equipment and tools. At the same time, this course prepares the student for the IT Fundamentals + Certification Exam offered by CompTIA.

IS-235. Visual Basic. 3.00 Credits.

The design and construction of Windows-based applications using the Visual BASIC programming language. Design of GUI screens, writing code modules, drag and drop techniques, planning menus and dialogs. Prerequisites: CS-180 OR IS-180.

IS-295. Credited Internships. 3.00 Credits.

IS-377. Linux. 3.00 Credits.

Installation, configuration, and administration of the Linux operating system and related programs. File, user account, process management, Shell (bash) and Perl programming will be studied.

IS-380. Database and Data Administration. 3.00 Credits.

This course teaches students how database systems are used and managed, and the issues associated with protecting associated data assets. In addition, it will teach the methods to protect the confidentiality, integrity, and availability of data throughout the data life cycle. Topics include: relational databases, no-SQL databases, object based vs. object oriented, big data, Hadoop / Mongo DB / HBASE, data policies/quality/ ownership/warehousing, long term archival, data validation, data security (access control, encryption), database vulnerabilities, database topics/issues (indexing, inference, aggregation, polyinstantiation), hashing and encryption, database access controls (DAC, MAC, RBAC, Clark-Wilson), information flow between databases/servers and applications, database security models, security issues of inference and aggregation, and common DBMS vulnerabilities. Prerequisites: CS/IS-180 OR CS-190.

IS-381. Cyber Security Planning and Risk Mgmt. 3.00 Credits.

This course provides students with the ability to develop plans and processes for a holistic approach to cyber security for an organization. Topics include CBK, operational, tactical, strategic plans and management, security architecture, policies, standards, procedures, business continuity/disaster recovery, C-level functions, making cyber security a strategy (part of core organizational strategy), and change control. Prerequisites: CS-180 OR IS-180.

IS-410. Total Business Info Systems. 3.00 Credits.

In-depth analysis of business applications including enterprise resource planning and electronic commerce. Basic and advanced applications with emphasis on enterprise database management systems. Prerequisites: CS-231 OR IS-380.

IS-425. Disaster Recovery/Business Continuity. 3.00 Credits.

In this course, students will learn to identify vulnerabilities and implement appropriate countermeasures to mitigate risks. Techniques will be taught for creating a continuity plan and methodology for building an infrastructure that supports its effective implementation. Throughout this course, practical skills will be acquired through a series of interactive workshops and case studies. Students design and develop a disaster recovery plan. Prerequisites: IS-380 OR IS-381.

IS-451. Adv Web Page Development. 3.00 Credits.

Students will learn how to combine HTML, CSS and JavaScript to create dynamic and interactive Web Pages (DHTML). Students will design and implement Web Server applications in Perl/CGI, PHP, VBScript/ASP, Python, and XHTML. Prerequisites: CS-180 OR IS-251.

IS-490. Indep Study in Information Science. 3.00 Credits.

Under faculty supervision, independent study and research topics not covered in courses offered.