Computer and Information Sciences

Courses

 

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.