Computer Science

Degrees and Certificates

Courses

CPSC 107: Introduction to Computing

Students develop a basic proficiency of computer usages in this course. Topics include the history of computing, the principal components of computers systems, and societal issues. Students discuss and use application software including word processors, spreadsheets, presentation software, and the World Wide Web. Students also learn elementary programming.

CPSC 140-150: Programming

The following courses provide an introduction to computers by programming in a high-level language. The emphasis is on programming real-life problems using efficient coding techniques. These courses are for students who want to use the computer as a problem-solving tool or who want to write programs for operating systems, compilers, artificial intelligence, or Internet applications.

CPSC 144: Programming in COBOL

The programming assignments in this course are related to mainframe application computing, especially providing familiarity with the IBM z System.

CPSC 151: Computer Science I

This course emphasizes techniques of algorithmic design, structured programming, and debugging. The course also introduces students the mission-critical and strategic importance of IBM z System mainframe transactions or real-time data analytic technologies used by U.S. and Global Fortune 500 companies. By learning the z System, students learn an overall structure of the enterprise computing from hardware architectures to application programming. This beginning course for computer science majors may also be taken by others who wish to learn a high-level computer language.

CPSC 152: Computer Science II

This course is an introduction to advanced features of a high-level computer language including stacks, queues, and user-defined data structures. The programming assignments involve the techniques of searching, sorting, and recursion.

CPSC 205: Web Design

This course introduces students to the tools and techniques used in designing web pages. Students learn HTML, CSS, JavaScript, and the web authoring software packages: CPSC 151

CPSC 210: Discrete Mathematics

This course introduces fundamental concepts of mathematics involved in computer science including induction, elementary counting, combinations and permutations, recursions and recurrence relations, graphs and trees, sorting and searching, and Boolean algebra. (This course may be taken for credit as MATH 210.)

CPSC 220: Master the Mainframe

The Master the Mainframe Contest administered by the IBM Academic Initiative gives students an opportunity to develop mainframe skills. There are three parts in the contest. A student who completes Part 1 and Part 2 will develop basic mainframe skills and will be awarded an IBM Basic Mainframe Skills badge. Part 3 provides hands-on project based learning. Through the hands-on projects, a student will learn z System programming languages including ReXX, COBOL, C, JAVA, assembler, SQL, and system programming. A student who completes Part 3 be awarded an IBM Acclaim Mainframe skills badge. A students complete Part 1 and Part 2 and selected hands-on projects in Part 3 received a certification from the department. CR/NCR Only.

CPSC 222: Electronics

The student is presented with the fundamentals of digital and analog circuit analysis. Among topics originally specific to analog circuits are DC circuit analysis using Kirchoff’s laws, mesh equations, transformations, the use of multimeters and oscilloscopes, AC circuit analysis using complex impedances, capacitors, and inductors, resonance, step function analysis, and transitions. Among the topics originally specific to digital analysis are simple logic gates, IC chips, Boolean algebra, adders, flip-flops, shift registers, and counters. After the fundamentals are covered, the emphasis shifts to circuit analysis involving knowledge of both perspectives. This course includes three hours of lecture and two hours of laboratory each week. (This course may be taken for credit as PHYS 222.)

CPSC 230: Project Management

This course is designed to prepare a student in completing a complex project by using the constraints needed for a successful project. Topics included planning, scheduling, score management, quality control, budget, and risk management of a project during its life cycle. The student experiences as a project manager to complete a project with the necessary tools and skills during the course.

CPSC 240: Introduction to Computer Security

The course provides an introduction to communication and networks, laying the groundwork for advanced courses in the field. It addresses theoretical and technical concepts of network technology and computer system security, as well as a broad spectrum of issues related to computer security and data privacy. Students will learn about the hardware and software used in computer networks and how these components communicate through protocols. They will also develop their knowledge of the mechanisms of the different topologies and how to construct a network from different hardware components including wiring concepts to network devices.

CPSC 245: Internetworking: Routing and Switching

This course is a study of concepts, theories, requirements and mechanisms of network and its communication. The course gives the essential knowledge to understand the network and lay the ground for advanced course in the field. Students gain experience designing, implementing, and testing a network infrastructure through lab work. This provides students with the knowledge of the hardware, software’s of the computer networks and how the components integrate to provide communication via protocols. It also highlights the mechanisms of different topologies, how to construct a network from different hardware components including cabling concepts to devices that compose the network.

CPSC 250: Content and Systems Design

If you’ve ever enjoyed the experience of playing a video game, you’ve had a first-hand lesson in how important content and systems design are. The experience of a game is driven by four major components: content, systems, narrative, and user experience. This class will help you learn to design all four components, and build a deeper understanding of the game development process and an introduction to concepts in scripting. This online class has optional live sessions. Course offered through LCMC Rize consortium partner.          

CPSC 275: Data Structures and Algorithms

This course is a study of the theory of and advanced techniques for representation of data, including link-lists, trees, graphs, analysis of algorithms, sorting, searching, and hashing techniques.

CPSC 277: Computer Ethics

This course is a study of the theory and practice of computer ethics. The aim of the course is to learn the basis for ethical decision-making and the methodology for reaching ethical decisions concerning the computer science field. Topics studied in the course are Computers in the Workplace, Computer Crime, Privacy and Anonymity, Intellectual Property, and Professional Responsibility. Methodologies used in the course include lectures by the instructor, lectures by visiting lecturers, in-class discussions, writing assignments, individual class presentations, and case analyses.

CPSC 310: Artificial Intelligence

This course is an introduction to the principles and programming methods of artificial intelligence. The fundamental issues involve logic and knowledge presentation, search, and learning. The programming language LISP is introduced and used to manipulate symbolic data.

CPSC 330: Computer Organization and Assembly Language

This course is a study of applications of Boolean algebra to combinational circuit design problems, organization of simplified computer components, memory organization, architecture, and assembly language programming.

CPSC 331: C Programming: How Computers Interpret

This course introduces a student to C - the fundamental language used to write many high-level languages. By the end of this course, the student will have a better understanding of how computers turn codes into ones and zeroes, and be able to use that understanding to build more efficient programs

CPSC 340: Computer Forensics

The course is designed to introduce the students to the software, hardware, legal, and ethical issues involved in computer forensics. Student will be developing the skills necessary to perform investigations into a variety of digital equipment through the use of practical projects.

CPSC 350: Unity I: Working with Unity

The Unity engine powers nearly 50% of all games and nearly 75% of mobile games. This course, built in collaboration with Unity and the IGDA, will introduce you to developing games in Unity. By the end of this course, you'll learn how to build a fully functioning game within the Unity system, including all key elements. This online course has optional live sessions. Course offered through LCMC Rize consortium partner.

CPSC 351: C# Programming

C# is a modern, general-purpose, object-oriented programming language with a range of uses, most notably creating desktop applications, web applications, web services, and building games using the Unity engine. This course is intended to give students a working knowledge of the C# programming language and the .NET framework, as well as an understanding of C#’s application to the Unity Game Development Engine. This online course has optional live sessions. Course offered through LCMC Rize consortium partner.

CPSC 360: Programming Languages

This course is a study of programming language constructs emphasizing the run-time behavior of programs. Topics include formal grammars, parsing, information binding, data storage, global and local variables and parameters, string handling and list processing.

CPSC 370: Operating Systems

This course is a study of batch processing systems, implementation techniques for parallel processing of input/output and interrupt handling, memory management, system accounting, interprocess communication and interfaces, and deadlocks.

CPSC 373: Writing for Mathematics and Computer Science

This course is designed to emphasize recognition of clarity and style of presentation in the reading and discussion of computer science related technical writing. (This course may also be taken for credit as MATH 373.)

CPSC 375: Computer Security

This course provides an overview of computer and network security. Topics covered include risks and vulnerabilities; related policies; controls and protection methods; access controls; database security; authentication technologies; and host-based and network based security. The students will learn how to design and build secure systems. Throughout the course, students will be given real world examples and projects to deepen their understanding.

CPSC 380: Data Base Design

This course is an intensive study of the design and the implementation of a database. Topics include entity-relationship model, relational model, SQL, relational database design, obj ect-oriented databases and obj ect-relational databases.

CPSC 390: Numerical Analysis

This course is a study of numerical methods of evaluating integrals and differential equations, techniques in finding the roots of polynomials, solving systems of linear equations, and matrix manipulation. (This course may be taken for credit as MATH 390.)

CPSC 405: Cryptography

This course focuses on the study of various cryptographic protocols, algorithms, and proofs of security. Topics include classical vs. modem cryptography; historical ciphers; principles of modem cryptography; perfectly secret encryption.

CPSC 420: Professional Internship

This course is a professionally supervised experience with off-campus mathematicians, computer scientists, or applied scientists using modem research and/or analytical techniques. Settings may vary from purely academic summer programs to private or public scientific institutions. The number of credits awarded depends on the number of imbedded hours in the internship experience. A minimum of 50 imbedded hours is expected per credit with the maximum number of credit earned is eight.

CPSC 431: Unity II: Advanced Unity

This course is intended to provide students with the skills and knowledge to bring their mastery of the Unity game engine and C# programming up to a professional standard. Students will learn how to perform a range of vital code-based tasks within the Unity platform, and will grow their skills in building core gameplay functionality, supporting systems, and platform-specific optimizations. This course was built in collaboration with Unity. Upon successful completion, students will be prepared to sit for the Unity Certified Associate: Programmer exam. This online course has optional live sessions. Course offered through LCMC Rize consortium partner.

CPSC 432: Capstone Project: Building a Game

This course is intended as a culmination of all a student’s work in the Unity Game Development major. Students will work in groups to build a game in the Unity engine that uses real-time 2D or 3D visuals and showcases their understanding of the core principles of game design. Students will pitch their game, design, prototype, build and test their game. Students will be evaluated based on the quality of their game, and their internal project management processes. This online course has optional live sessions. Course offered through LCMC Rize consortium partner.

CPSC 440: Data Communications and Network Architecture

This course is a study of data communications and computer networks from the programmer’s point of view. Topics include direct link networks, including Ethernet and wireless networks; packet switching, internetworking, and routing, with an emphasis on the Internet Protocol; end-to-end communications, emphasizing UDP, TCP, and RPC; congestion control; data compression; network security; and applications. Students write programs that use the TCP/IP protocol stack via the UNIX or Java socket interfaces.

CPSC 450: Network Security

This course is a study of concepts, theories, requirements and mechanisms of network security. Topics include concepts related to network vulnerabilities and attacks, defense mechanisms against network attacks, cryptographic protection mechanisms, mechanism of identification and authentication, and real-time/non-real-time commutation security. Students gain experience designing, implementing, and testing a network security infrastructure through lab work.

CPSC 470: Operating System Security

This course provides the security issues including vulnerabilities, threats, exploits and defense mechanisms in operating systems. Topics include logging, auditing, address space randomization, memory protection, virtual machine introspection (VMI), malware and malware immunization.

CYBR 600: Principles of Cybersecurity and Information Security Management

CYBR 600 is an introductory course that explores the basic principles in the area of cybersecurity and managing secure information and information management systems. It explores the modern threats to computer networks and systems, their vulnerabilities, and the proven strategies used to prevent and diagnose them. Additionally, the course implements a practical approach to the learning process where simulated incidents are offered for the student’s action. It also explores risk analysis and management approaches in computer technologies. It includes studying the concepts of access management, including Confidentiality, Integrity, and Availability of information gain hands-on experience in implementing security measures to protect against them.

CYBR 610: Ethical Hacking and Penetration Testing

This comprehensive course is meticulously designed to empower learners with the essential skills and expertise needed to conduct thorough vulnerability assessments on systems and networks. In today's evolving cybersecurity landscape, the ability to simulate potential attacks and fortify system defenses is paramount. Throughout the course, students will immerse themselves in a practical lab environment, delving into critical topics such as the intricacies of the Information security realm, Information security controls, footprinting techniques, wireless hacking, and the utilization of WiFi security tools, as well as cryptographic attacks and cryptanalysis tools.

CYBR 611: Cybersecurity Law and Ethics

In today's digital age, the intersection of law and Information and Communication Technologies (ICT) has become increasingly crucial. The rise of cybercrimes and illicit activities conducted in virtual environments has necessitated the development of comprehensive regulations within the ICT sector. Cybersecurity professionals, as well as ICT users, are affected by these legal frameworks. Moreover, the continual growth of cyberspace and computing technologies has given rise to ever-evolving cyber threats. To address these challenges, laws must adapt to ensure the protection of users and the imposition of penalties on violators. This course delves into the legal and ethical aspects of cybersecurity, providing a comprehensive understanding of the intersection between law, technology, and ethics. CYBR 611, it prepares students to navigate the complex landscape of laws, regulations, and ethical considerations in the world of information technology, ensuring that they are well equipped to make informed decisions and uphold the highest standards of ethical conduct in their roles as cybersecurity professionals.

CYBR 615: Principles of Wireless, Mobile & Cloud Security

The course offers a comprehensive exploration of contemporary cybersecurity challenges in wireless, mobile, and cloud systems. With a detective approach, students gain expertise in analyzing security issues, implementing policies and controls, and investigating computer cloud security controls and architecture practically. The course covers foundational principles of wireless and cloud computing, mobile generation security, and device security. It places a strong emphasis on securing mobile devices and wireless networks, addressing various mobile generations and a range of devices, including laptops, PDAs, Bluetooth, Zigbee, and RFID devices. Furthermore, it delves into retail store and proximity payment application security. Graduates of this course will emerge well-prepared to navigate the dynamic world of cybersecurity in wireless, mobile, and cloud technology.

CYBR 620: Computer, Mobile Forensics and Incident Handling

Computer, Mobile Forensics, and Incident Handling" is a dynamic and meticulously designed course that explores the intersection of cybersecurity, forensic investigation, and incident handling in the context of Business & Mobile and Information Communication Technology (ICT) systems. This comprehensive program adopts a detective approach to cybersecurity enhancement, delves into the principles of criminal investigation, and emphasizes practical investigative strategies. Students gain insights into privacy rights, ethical considerations, incident handling, and computer forensics, all while preparing for industry-recognized certifications like Access Data Certified Examiner (ACE) and Computer Hacking Forensic Investigator (CHFI) from EC Council. By the end of this course, students are well-prepared to address security challenges in the Business sector, contributing to the digital resilience of organizations through their acquired knowledge and practical skills.

CYBR 621: Algorithmic Cryptology and Data Protection

Algorithmic Cryptology and Data Protection is a comprehensive course designed to equip learners with the knowledge and skills essential for securing information systems and ICT networks. The course starts with a survey of classical cryptographic techniques and then delves into contemporary topics, covering symmetric block ciphers, public key cryptosystems, digital signatures, authentication protocols, and cryptographic hash functions. Learners will not only understand the fundamentals but also gain the ability to dissect algorithms, identifying potential vulnerabilities. Additionally, the course explores encryption and decryption using hashing functions, public and private keys, and addresses cutting-edge topics such as quantum-resistant cryptography and homomorphic encryption. Upon completion, participants will be well-prepared to protect their employers' critical information assets in an ever-evolving cyber threat landscape.

 

CYBR 625: Blockchain Technology and Digital Finance

Blockchain Technology and Digital Finance is a comprehensive course that explores the convergence of blockchain technology and digital currencies in the financial sector. It aims to equip students with a deep understanding of blockchain principles, the workings of cryptocurrencies, and the impact on the financial industry. The course covers technical aspects, including smart contracts and decentralized applications (DApps), as well as security challenges and solutions. Students will also learn about the perspectives and concerns of various stakeholders in the economy regarding digital currencies. Ultimately, this course prepares students to navigate the evolving landscape of blockchain technology and digital finance, empowering them with both knowledge and practical skills for the digital age of finance.

CYBR 630: Security Incident Analysis and Artificial Intelligence

The course delves into advanced cybersecurity, merging traditional incident analysis with AI-driven methods. Participants will learn to design and implement robust defenses, focusing on firewall configuration, load balancing, web security, and intrusion detection. Students will adopt proactive strategies like threat intelligence and hunting, using AI to enhance detection and response. The course covers the full incident response lifecycle with practical exercises. Participants will also explore AI and machine learning in cybersecurity, utilizing tools like TensorFlow and Splunk, while addressing the challenges and ethics of AI integration

CYBR 640: Secure Information Infrastructure and Risk Mitigation

This course is a management-oriented course focused on empowering graduates with the skills to design and manage secure information infrastructure and systems. It covers information management systems, vulnerabilities, and security issues related to critical resources. The course emphasizes preventive strategies for Information and Communication Technology (ICT) systems, including access management principles (Confidentiality, Integrity, Availability). Additionally, it provides a "Defense-in-Depth" approach, encompassing both internal and external vulnerability assessments, combining technical skills and analytical practices. Graduates gain the expertise to proactively secure information infrastructure and mitigate vulnerabilities effectively in the modern digital Landscape.

CYBR 690: Research Proposal and Capstone Project

The Capstone Project in Cybersecurity Studies is a culmination of the student's academic journey in the field of information/cybersecurity. The primary objective of this capstone project is for students to demonstrate their proficiency in various aspects of cybersecurity, including risk management, vulnerability assessment, crisis management, security models, and architecture. The student will undertake the first part of this important project by collecting the data they will need for their research, especially the current issues in cybersecurity management, which include risk management, assessment of vulnerability, crisis management, security models, architecture, etc., for the development and implementation of a project. The project will include AI components such as automated threat detection and predictive analytics, allowing students to design innovative cybersecurity solutions. At the term's end, students will submit a comprehensive project report, evaluated through stages that include planning, AI-integrated system design, prototype testing, and final implementation.