Computer Science Courses

COS102 Introduction to Computer Programming (3 credits)

This course delves into the fundamentals of computer programming, focusing on programming methodology, procedural abstraction, and an introduction to object-oriented programming using Python. Through a hands-on approach, students will engage in integrated lab sessions during lectures, ensuring practical application of concepts throughout the course. Prerequisite: None

COS105 Object-Oriented Programming (4 credits)

This course introduces students to the fundamental concepts of Object-Oriented Programming (OOP) using two widely used programming languages, C++ and Java. Students will learn the principles of OOP, including encapsulation, inheritance, and polymorphism, and gain hands-on experience in designing and implementing object-oriented solutions to real-world problems. Prerequisite: COS102

COS151 Introduction to Information Technology (3 credits)

This course provides an overview of Information Technology (IT) and its fundamental concepts. Students will gain a foundational understanding of the key components, principles, and applications of IT in various domains. Topics include computer hardware and software, networks, data management, cybersecurity, and emerging technologies. The course also explores the impact of IT on society, ethics, and career opportunities in the field. Prerequisite: None

COS153 Networking Technologies and Telecommunications (3 credits)

This course provides a comprehensive introduction to networking technologies and telecommunications. Students will gain a deep understanding of the fundamental principles, protocols, and technologies that form the backbone of modern communication systems. The course covers topics ranging from basic networking concepts to advanced telecommunications protocols, ensuring that students develop a strong foundation in this rapidly evolving field. Prerequisite: COS151

COS161 Introduction to Cybersecurity (3 credits)

This course provides an overview of the fundamental concepts and principles of cybersecurity. Students will gain a comprehensive understanding of the threats, vulnerabilities, and countermeasures associated with information security. Topics covered include encryption, network security, risk management, ethical hacking, and security policies. Practical hands-on exercises and case studies will be used to reinforce theoretical knowledge. Prerequisite: None

COS203 Discrete Mathematics and Probability Theory (4 credits)

Discrete Mathematics and Probability provides a comprehensive introduction to the fundamental concepts of discrete mathematics and probability theory. This course covers the topics from logic, set theory, combinatorics, number theory, graph theory, and probability theory. It is designed to provide students with a solid mathematical foundation for their study of the various fields in computer science, including data structures, algorithms, cryptography, and artificial intelligence. Students will develop problem-solving skills and a strong theoretical foundation in discrete mathematics and probability theory, which are essential for a wide range of academic and professional disciplines. Prerequisite: COS102

COS205 Data Structures (4 credits)

This course offers a thorough grounding in fundamental data structures, algorithms, and their practical implementation using Python. Participants will acquire both theoretical knowledge and hands-on expertise in employing advanced data abstraction and algorithmic methodologies to construct software solutions that are efficient, maintainable, and resilient. Prerequisite: COS102

COS211 Probability for Computer Science (4 credits)

In this course, we delve into fundamental principles and techniques of probability theory essential for computer science applications. Topics include sample spaces, probability axioms, conditional probability, and independence. We explore both discrete and continuous random variables, as well as their joint distributions and characteristics. Moreover, we study key concepts like the law of large numbers, the central limit theorem, and Markov chains, which are crucial for understanding probabilistic models in computational contexts. Prerequisite: COS102, MAT105

COS213 Computer Architecture (4 credits)

This course provides an in-depth exploration of computer architecture, focusing on the fundamental principles and design concepts that govern the inner workings of modern computing systems. Students will gain a comprehensive understanding of central processing units (CPUs), memory hierarchies, input/output systems, and the interaction between software and hardware. Topics covered include instruction set architectures, pipelining, caching, memory management, and parallel processing. Prerequisite: COS205

COS224 Web Programming: Front-End (3 credits)

This course aims to furnish students with proficient Front-End programming abilities and methodologies essential for collaborative team environments. Through group-based projects utilizing ReactJS, participants will cultivate the aptitude to deliver functional features. Given the dynamic nature of software development, emphasis is placed on fostering self-learning, research, and the assessment of alternative solutions throughout the duration of the course. Prerequisite: COS102

COS225 Web Programming: Back-End (3 credits)

This course is designed to empower students with proficient Back-End programming capabilities utilizing Golang. Participants will leverage the AWS environment, employing CDK and Docker images to deliver functional features. Recognizing the dynamic nature of software development, the course underscores the importance of self-teaching, research, and the critical evaluation of alternative solutions. Prerequisite: COS102

COS243 Prompt Engineering and Applications of Generative AI (3 credits)

This comprehensive course provides a deep dive into the art of prompt engineering and explores the diverse applications of generative AI models. Students will gain a thorough understanding of how to craft effective prompts, leverage advanced techniques, and harness the power of generative AI models for various real-world scenarios. The course covers a wide range of topics, from the foundations of prompt engineering to ethical considerations, tooling, and industry-specific applications. Through hands-on projects and case studies, students will develop the skills necessary to build robust applications using prompt-based AI, including a documentation-powered customer chatbot. Prerequisite: COS205

COS251 Linux Systems and Network Administration (3 credits)

This course provides a comprehensive introduction to Linux systems and network administration. Students will gain hands-on experience with various aspects of Linux operating systems, including installation, configuration, maintenance, and troubleshooting. The course will also cover essential networking concepts, protocols, and services to equip students with the skills needed to manage and maintain Linux-based networks. Prerequisite: COS153

COS253 Routing and Switching Essentials (3 credits)

This course is designed to provide students with a comprehensive understanding of routing and switching essentials in computer networking. Students will delve into the fundamental concepts, protocols, and technologies related to the design, implementation, and management of computer networks. The course emphasizes hands-on practical skills, ensuring that students gain the necessary knowledge to configure and troubleshoot routers and switches effectively. Prerequisite: COS153

COS261 Cybercrime and Governance (3 credits)

This course explores the intersection of cybercrime and governance, examining the challenges and implications for individuals, organizations, and governments. Students will gain an in-depth understanding of the evolving landscape of cyber threats, the role of governance in addressing cybercrime, and the legal, ethical, and technological dimensions of cybersecurity. Prerequisite: COS161

COS263 Network and System Security (3 credits)

This 16-week course aims to provide students with a comprehensive understanding of network and system security principles. The course will cover both theoretical concepts and practical skills necessary to secure modern computer systems and networks. Students will explore topics such as cryptography, network security protocols, intrusion detection, firewall implementation, and ethical hacking. Prerequisite: None

COS305 Algorithm Design and Analysis (4 credits)

This course introduces students to the principles and techniques of algorithm design and analysis. Students will learn to design and analyze algorithms, understand their time and space complexity, and develop problem-solving skills. The course will cover various algorithmic paradigms such as of greedy optimization, divide and conquer, dynamic programming, and linear programming, and the NP-completeness theory. Prerequisite: COS203, COS205

COS321 Database Systems (4 credits)

This course focuses on data management issues in standard relational database systems and on the web. In particular, we will focus on the design and manipulation of data in relational database systems, discussing schema design and refinements, as well as query languages. Then, we will turn towards data management issues in a web context: web-centric data models, XML, Information Retrieval and Web Search. Prerequisite: COS205

COS331 Data Mining (4 credits)

Throughout this course, students will delve into fundamental principles and algorithms essential for extracting actionable insights from raw data. Core topics encompass data preprocessing, exploratory analysis, dimensionality reduction, classification, clustering, association rule mining, and anomaly detection. Engaging with real-world datasets and case studies spanning various domains including business, science, security, and healthcare, students will gain practical experience and insights into the application of these techniques in diverse contexts. Prerequisite: MAT201, COS211, DAS241

COS335 Machine Learning (4 credits)

This course introduces students to the fundamental concepts, algorithms, and applications of machine learning. Students will learn various supervised and unsupervised learning techniques, along with methods for evaluating and optimizing machine learning models. Practical implementation and hands-on experience with machine learning libraries will be emphasized. Prerequisite: COS203 or COS211

COS346 Big Data Engineering (3 credits)

The course provides an in-depth understanding of Big Data Engineering principles, technologies, and tools. Students will learn the fundamentals of handling and processing massive datasets, including storage, retrieval, and analysis techniques. Emphasis will be placed on various frameworks, such as Hadoop, Spark, and associated technologies, to engineer scalable and efficient solutions for real-world data problems. Prerequisite: COS205,COS321

COS351 Wireless Technology (3 credits)

This course provides a comprehensive introduction to the principles, technologies, and applications of wireless communication. Students will explore the evolution of wireless technology, understand fundamental concepts, and examine various wireless communication standards. The course will cover topics such as wireless networks, mobile communication, IoT (Internet of Things), and emerging trends in wireless technology. Prerequisite: COS253

COS353 Introduction to Cloud Computing (3 credits)

This course provides an in-depth introduction to the fundamental concepts and technologies of cloud computing. Students will gain a comprehensive understanding of the cloud computing paradigm, its evolution, key components, and practical applications. The course covers a range of topics, including cloud service models, deployment models, security considerations, and emerging trends in cloud computing. Prerequisite: COS102

COS361 Wireless and Mobile Security (3 credits)

This course provides an in-depth exploration of the security challenges and solutions associated with wireless and mobile technologies. With the increasing prevalence of wireless networks and mobile devices, securing these technologies is crucial to protecting sensitive information and ensuring the privacy of users. Students will gain a comprehensive understanding of the principles, protocols, and best practices for securing wireless and mobile systems. Prerequisite: COS263

COS363 Cyber Forensics (3 credits)

This course provides an in-depth exploration of the principles and practices of Cyber Forensics, with a focus on digital forensics, investigation, and response. Students will gain a comprehensive understanding of the techniques, tools, and methodologies used in the field of cyber forensics to investigate and analyze digital evidence. The course will cover topics such as computer crime laws, forensic analysis of digital media, incident response, and legal and ethical considerations in cyber forensics. Prerequisite: COS261

COS403 Computer Operating Systems (4 credits)

This course introduces students to the fundamental concepts, principles, and components of computer operating systems. Emphasis is placed on understanding the role of operating systems in managing hardware resources and providing a user interface. Topics covered include process management, memory management, file systems, security, and system administration. Prerequisite: COS213

COS425 Software Engineering (4 credits)

This course provides a comprehensive introduction to the principles and practices of software engineering. Students will learn fundamental concepts related to the software development life cycle, including requirements analysis, design, implementation, testing, and maintenance. The course will focus on various methodologies, tools, and best practices employed in the field of software engineering. Prerequisite: COS105, COS213

COS431 Ethics in Computer and Data Science (3 credits)

This course seeks to orient the student and future technologist with the ethical issues arising from the rapidly increasing role of technology in our lives. In designing systems, developing requirements, and deploying systems technologists need to be thoroughly aware of historical precedent regarding the ethical use of information, but also aware of ethical issues arising daily around us. For example how can a user limit the amount of personal information Google or Facebook collects, shares with others, or sells for a fee? How ethical is it to collect personal information from users/customers and who actually own the rights to that personal information? How do technology companies responsibly pursue the advancement of AI technology and its incorporation into daily life? All these issues and more involve computing, ethics, and the internet. Prerequisite: None

COS435 Cryptography (3 credits)

This course is designed to introduce students to the fundamentals of cryptography, exploring various cryptographic techniques and algorithms. Students will gain a deep understanding of the principles behind secure communication, encryption, and decryption. Practical applications and hands-on exercises will be integrated to reinforce theoretical concepts. Prerequisite: COS203

COS461 Ethical Hacking (3 credits)

This course provides an in-depth exploration of ethical hacking principles, tools, and incident handling strategies. Students will develop practical skills in identifying vulnerabilities, exploiting weaknesses, and implementing security measures to protect information systems. The course will also incorporate hands-on experience, allowing students to apply theoretical knowledge in a real-world environment. Prerequisite: COS363

COS482 Independent Study in Computer Science (3 credits)

Independent Study in Computer Science offers students the opportunity to delve deeply into a computer science topic or creative project of their choice. Under this course, students are expected to submit a well- considered proposal outlining their chosen study topic or project, the objectives they aim to achieve, and the schedule to achieve the objectives. Once a proposal is approved, students will be paired with a faculty member whose expertise aligns with their topic. The faculty member will provide guidance through regular one-on-one meetings, helping students navigate through the complexities of their independent study or creative project. This course is an excellent fit for self-motivated students seeking to enhance their understanding and competency in a specific computer science topic. Prerequisite: Permission form

COS491 Senior Project (4 credits)

This course is the culmination of the BS in Computer Science program or BS in Computer Networks and Cybersecurity program. Students will synthesize and apply knowledge and skills learnt throughout the program for a final capstone project. The project will entail a beginning, an end with a pre-determined deliverable against project requirements. It is a small, unique, manageable project that must be accomplished within a semester, but must include lifecycle stages/methodologies and produce the required project documentation of a project. Prerequisite: Permission form

DAS101 Introduction to Data Science (3 credits)

This course introduces students to the fundamentals of data science, covering essential concepts, tools, and techniques used in analyzing and interpreting data. Through a combination of lectures, practical exercises, and projects, students will gain hands-on experience in data manipulation, visualization, and analysis. Prerequisite: COS102

DAS148 Ethical Topics in Data Science (1 credit)

This seminar-format course aims to explore and discuss critical ethical issues arising from the intersections of data science, artificial intelligence, and technology. Through in-depth discussions, documentaries, and research, students will examine the ethical implications of generative AI, excessive screen time, social media usage, AI advancements, and the potential consequences of an uncontrolled AI race. The course will foster a deeper understanding of the ethical considerations surrounding data science and its impact on society. Prerequisite: None

DAS241 Data Visualization (3 credits)

This course introduces students to the principles and techniques of data visualization using the R programming language. Through hands-on projects and theoretical concepts, students will explore various visualization libraries and tools available in R to effectively communicate and analyze data. Prerequisite: COS102, COS211 or STA101

DAS251 Data Inference (3 credits)

This course introduces students to the principles and techniques of data inference. The course covers various methods for drawing conclusions and making predictions from data. Topics include statistical inference, hypothesis testing, regression analysis, and Bayesian inference. Practical applications and real-world examples will be used to illustrate the concepts. Prerequisite: COS102, COS211

DAS341 Business Data Analysis (3 credits)

The objective of the course is to introduce to the students basic quantitative, mathematical and statistical methods for solving financial, marketing and business problems. Using Excel and Tableau, this course provides an introduction to data analytics for business professionals, including those with no prior analytics experience. Students will learn how data analysts describe, predict, and inform business decisions in the specific areas of marketing, human resources, finance, and operations, and develop the basic data literacy and analytics mindset needed to make appropriate business strategy recommendations based on insights from real-world data. Prerequisite: COS211 or STA101

MAT105 Calculus I (4 credits)

This course covers calculus of single-variable functions. Topics include brief review of precalculus, limits, derivatives, integration, and some application of these tools to mathematical (graphing, min/max etc.) or real-world problems. This course is intended for majors in science, engineering, economics, and computer science, among other disciplines. Prerequisite: None

MAT106 Calculus II (4 credits)

This course is a follow-up course of Calculus I. It covers important concepts and techniques that are essential to understand advanced courses on probability or statistics. The topics covered include techniques of integration (Chapter 7), application of integration (Chapter 6 & 8), polar coordinates (Chapter 10), infinite sequences and series (Chapter 11), and Multiple Integrals (Chapter 15). Students are also encouraged to use Python coding to visualize some results in Calculus as bonus projects. This course is intended for majors in data science. Prerequisite: MAT105

MAT201 Linear Algebra (4 credits)

This course is an introductory one designed to equip students with the essential mathematical foundations necessary to understand and implement modern data science techniques. The course explores the core concepts of linear algebra, including vectors, matrices, and their applications in algorithms and models crucial to the big data era. By understanding the geometric and algebraic properties of vectors and matrices, students will gain insights into how linear algebra powers machine learning, image processing, neural networks, and more. Practical examples and applications will be woven throughout the course to demonstrate the real-world utility of these mathematical tools. Prerequisite: None

PHY101 General Physics I (3 credits)

This is the first course of a two-semester sequence. It starts with mechanics, which includes the study of linear, circular and rotational motion, how to apply Newton’s laws and the concepts of energy and momentum. It then covers thermodynamics including temperature, heat transfer, and changes in state and ends with the analysis of the sinusoidal nature of simple harmonic motion. Prerequisite: None

PHY101L General Physics I Lab (1 credit)

A hands-on physics lab that covers the fundamental principles of physics including measurement, motion, work and thermodynamics with emphasis on problem solving. Experiments have been selected to reinforce the material presented in Physics 101, which may be taken concurrently. Prerequisite: None

PHY102 General Physics II (3 credits)

This is the second semester of a two-semester physics course. The course will cover thermodynamics, electricity, magnetism, optics, atomic and particle physics. Many concepts from General Physics I will be used in this course such as: position, velocity, acceleration, force, Newton’s laws of motion, work and energy. The course uses high school algebra, geometry and trigonometry, vectors and vector arithmetic. Prerequisite: PHY101

PHY102L General Physics II Lab (1 credit)

A hands-on physics lab that covers the fundamental principles of physics including electricity, magnetism, optics and modern physics. Experiments have been selected to reinforce the material presented in PHY 102, which may be taken concurrently. Prerequisite: PHY101L

STA101 Introduction to Statistics (3 credits)

This course is an introductory course in statistics intended for students in a wide variety of areas of study. Topics covered include basic descriptive measures (histograms, average, and standard deviation etc.), probability theory, statistical inference, confidence intervals, hypothesis tests and regression with applications in the real world. In addition, students will learn and use statistical programming language R to help understand and perform select statistical analyses. Prerequisite: None

BS in Computer Science  ›  Computer Science Courses