Department of Computer and Information Sciences

Edward Moskal, Chairperson

The Department of Computer and Information Sciences offers three programs leading towards the Bachelor of Science degree in Computer Science. Students may concentrate in Computer Information Systems, Cyber Security, 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 13
MA-124Elementary Calculus II 13
CS/IS-180Introduction to Programming3
CS-231Software Engineering3
CS-332Advanced Computing3
IS-410Total Business Information Systems3
CS-370Data Structures3
MA-212Elementary Statistics3
MA-214Mathematics of Finance3
MA-216Computer Mathematics3
MA-218Quantitative Methods for Business3
CS-499Capstone for Computer Science3
IS- IS Electives-IS-230 or higher 26
CS/IS-CS or IS Electives (IS-230 or higher OR CS-300 or higher) 26
Total Credits48

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

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 13
MA-124Elementary Calculus II 13
MA-212Elementary Statistics3
CS-190Secure Software Development3
CS-231Software Engineering3
CS-332Advanced Computing3
CS-260Information Technology Ethics3
CS-339Computer Architecture and Operating Systems3
CS-370Data Structures3
IS-380Database and Data Administration3
IS-381Cyber Security Planning and Risk Management3
IS-425Disaster Recover and Business Continuity3
CS-489Network Technology, Protocols, and 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 Ssecurity Option

Special Note on Major Requirements for Computer Science Major/Cyber Security 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 14
MA-144Integral Calculus 14
CS/IS-180Introduction to Programming3
CS-231Software Engineering3
CS-332Advanced Computing3
CS-355Foundations of Programming Systems3
CS-370Data Structures3
MA-246Discrete Mathematics3
MA-247Introductory Linear Algebra3
MA-273Multivariable Calculus I4
MA-335Probability Theory3
MA-382Mathematical Modeling3
or MA-385 Topics in Applied Mathematics
Two Natural Science Laboratories 22
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 Credits56

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 Management3
CS-489Network Technology, Protocols, and Defense3
CS-496Cybersecurity and Digital Forensics Lab3
CS CS Electives9
Total Credits18

Requirements for Minor in Computer Science

Students majoring in Computer Science are not eligible for this minor.

CSCS Electives15
CS or ISCS or IS Elective3
Total Credits18

CS Courses

CS-150. Introduction to Computers and Information Processing. 3 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.

CS-177. Introduction to Computer Science. 3 Credits.

This course is an introduction to computer science in the context of scientific, engineering, and commercial applications. The goal of the course is to teach basic principles and at the same time prepare students for a major in computer science. Topics include: The von Neumann architecture, algorithms, data structures, hardware and software, application systems, programming, cyber security, and data science.

CS-180. Introduction to Programming. 3 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.

CS-190. Secure Software Development. 3 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.

CS-205. Computer Science Workshop. 1 Credit.

A topic chosen by mutual agreement of the student and instructor will be the basis of the course and final project. Credit may be used in lieu of a natural science lab. Prerequisites: CS-180 AND CS-231 AND INSTRUCTOR PERMISSION.

CS-231. Software Engineering. 3 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-180 OR IS-180 MA-105, MA-123 OR MA-143.

CS-237. Java Programming. 3 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-180 OR IS-180.

CS-260. Information Technology Ethics. 3 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 PL-101 OR TH-120.

CS-271. Decision Support Systems. 3 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 BA-151 OR BA-155.

CS-295. Co-Op. 1 Credit.

CS-317. C# Programming for Web-Based Application. 3 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-180 OR IS-180.

CS-332. Advanced Computing. 3 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.

CS-339. Computer Architecture and Operating Systems. 3 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 CS-332.

CS-355. Foundations of Programming Systems. 3 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-232.

CS-370. Data Structures. 3 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 MA-123 OR MA-143.

CS-415. Introduction to Parallel Robotics and Cell Phone Programming. 3 Credits.

Introduction to parallel programming in Ada and Java. Students will write programs for cell phones and intelligent devices such as a robot. Prerequisites: CS-231 OR CS-237.

CS-489. Network Technology, Protocols, and Defense. 3 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.

CS-490. Independent Study in Computer Science. 3 Credits.

For the superior student to pursue, under faculty supervision, for research topics not covered in courses offered.

CS-495. Cryptology. 3 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.

CS-496. Cybersecurity and Digital Forensics Lab. 3 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. Prerequisites: IS-381 OR CS-495.

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-180. Introduction to Programming. 3 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.

IS-235. Visual Basic. 3 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-251. Web Page Development. 3 Credits.

This course offers students a background to the World Wide Web, then takes them step-by-step through each of the stages of web site development using HTML and different Web development tools. Prerequisites: CS-150 OR CS-177 OR CS-180.

IS-295. Co-Op. 3 Credits.

IS-377. Linux. 3 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 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-180 OR IS-180.

IS-381. Cyber Security Planning and Risk Management. 3 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 Information Systems. 3 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-420. Info Technology Audit & Compliance. 3 Credits.

Information technology operations will be examined from the point of view of information systems and management in both standalone and global environments. Information technology audit programs for different computer environments and technologies will be studied and prepared. The COBIT framework will be introduced for auditing information technology operations. This course will also provide students with an understanding of the rules and regulations related to information technology audit and compliance with applicable laws and regulation such as: HIPAA, Sarbanes Oxley, FERPA, Data Breach Disclosure Laws, FISMA, Gramm Leach Bliley, and PCI DSS. Prerequisites: AC-151 OR IS-380 OR INSTRUCTOR'S PERMISSION.

IS-425. Disaster Recover and Business Continuity. 3 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. Advanced Web Page Development. 3 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-455. E-Commerce Website Construction. 3 Credits.

Students will learn how to build, manage and deploy a database driven e-commerce website with a shopping cart and automatic order processing. Students will create a dynamic site which includes large and small images of products, calculation of invoice amounts, sales tax, shipping and payment methods. A final project is required. Prerequisites: IS-180 OR CS-180, IS-251 OR IS-451.

IS-490. Independent Study in Information Science. 3 Credits.

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