#### Network Security

This
course offers a comprehensive exploration of network security principles,
strategies, and technologies within the context of computer science. It equips
students with the knowledge and skills necessary to protect computer networks,
systems, and data from a wide range of threats and vulnerabilities. By the end
of this course, students will have a strong foundation in network security
concepts and practices tailored to the field of computer science. They will be
prepared to analyze, design, and implement security measures to safeguard
computer networks and systems from evolving threats.

#### CSEC 311 - DEFENSIVE PROGRAMMING - AY2024-25

The course provides Defensive Programming techniques. Students will learn how to defend by means of design, so that almost all explicit defensive code can be removed and modified. Discover how to build input output validation, explore how to design a public and private interface, learn how to unify and debug program errors by flows, and apply programming standards in a complex coding environment. By the end of this course, students are expected to demonstrate the necessary knowledge to efficiently develop their own defensive design practice by combining all Defensive Programming techniques into a single program using Python.

#### CS 318 Architecture and Organization 24-1

This course is the introduction and overview of basic computer organization. Topics include Computer arithmetic: binary, hexadecimal and decimal number conversions, binary number arithmetic and IEEE binary floating-point number standard. Basic computer logic: gates, combinational circuits, sequential circuits, adders, ALU, SRAM and DRAM. Basic assembly language programming, basic Instruction Set Architecture (ISA), and the design of single cycle CPU. Students are expected to develop a computer program simulating how to solve a particular problem using concepts in basic assembly language programming.

#### CSAM 211 - Ordinary Differential Equations 24-1

This
course begins with the basic concepts and definitions on mathematical models
and applications of differential equations to real-world problems. The focus is
to teach you how to model the world in terms of differential equations, and how
to solve equations and interpret the solutions in computing. Topic includes First-order
and higher-order differential equations, along with the methods of solutions
and their applications are introduced. Modeling with higher-order, and systems
of linear first-order differential equations are also covered. Numerical
methods are covered throughout the course. At the end, students learn series
solutions of ordinary differential equations and evaluate how it is applied in
real life.

#### CCCS 104 Data Structures and Algorithms 24-1

The
course covers the standard data representation and algorithms to solve
computing problems efficiently (with respect to space requirements and time
complexity of algorithm). This covers the following: Lists, Stacks, Queues,
Trees, Graphs. Thorough discussion of searching, sorting and hashing. At the
end of this course, the students are expected to create a narrative video that
tackles real-life example of data structure and algorithms.

#### Digital Forencics 2

#### CS 214 - Object Oriented Programming

This course is an introduction to procedural and object-oriented programming methodology. The course allows the student to learn and apply the basic language syntax and principles of object-oriented programming to solve computational problems adhering to the standards and guidelines of documentation using java programming language. Topics include program structure, conditional and iterative programming, procedures, arrays and records, object classes, file I/O, and exceptions. It further discusses the concepts and characteristics of object-oriented technology (on encapsulation, inheritance, polymorphism and abstraction). The student is expected to develop a records management system integrating the concepts and principles of object-oriented programming.

#### Discrete Structures 2

This course is the second sequence of discrete structures with an emphasis on applications to computer science concentrating on sequences and recursion, number theory and graph theory. The topics shall develop mathematical foundations in preparation to a more specialized computer science course.

#### CS 215 - Operating Systems

This course examines the important problems in operating system design and implementation. The course will start with a brief historical perspective of the evolution of operating systems over the last fifty years and then cover the major components of most operating systems. This discussion will cover the tradeoffs that can be made between performance and functionality during the design and implementation of an operating system. Particular emphasis will be given to three major OS subsystems: process management, memory management, and file systems; and on operating system support for distributed systems.

#### Team Babbage - Fuzzy Logic Team

Portal for Team Babbage Advising and Consulting