Course Purpose
The purpose of this course is to provide a unified mathematical and technical framework that empowers students to transition from high-level problem solvers to systems architects. In an era where software, data management, and hardware infrastructure are increasingly interdependent, a fragmented understanding of computing is no longer sufficient.
Course Learning Outcomes
CLO 1. Apply Mathematical Logic: Use discrete structures, linear algebra, and formal logic to verify algorithm correctness and model complex computational systems.
CLO 2. Architect Data Systems: Design and implement optimized data structures and relational databases to manage large-scale information efficiently and securely.
CLO 3. Analyze System Infrastructure: Evaluate the interaction between operating system resource management and network protocols to optimize software performance and security.
CLO 4. Engineer Intelligent Solutions: Execute the full software development life cycle—from requirement gathering to deployment—while integrating machine learning models to solve non-deterministic challenges.
Course Content
Theoretical Foundations and Logic
- Discrete Structures: Propositional logic, sets, relations, and graph theory for modeling connectivity.
- Linear Algebra: Matrix operations, vector spaces, and transformations used in data science and computer graphics.
- Computational Complexity: Big-O notation, time-space trade-offs, and formal proof techniques.
Data Management and Algorithmic Design
- Data Structures: Implementation of linear (stacks, queues, linked lists) and non-linear (trees, heaps, hash tables) structures.
- Advanced Algorithms: Sorting, searching, recursion, and dynamic programming.
- Database Systems: ER-modeling, SQL query optimization, normalization, and ACID transaction properties.
Core Systems and Networking
- Operating System Architecture: Process scheduling, concurrency, deadlocks, and virtual memory management.
- Network Protocols: The OSI model, TCP/IP suite, routing, and switching.
- System Security: Principles of cryptography, firewalls, and securing distributed environments.
Software Engineering and Artificial Intelligence
- Software Development Life Cycle (SDLC): Agile and Scrum methodologies, requirement engineering, and UML modeling.
- Quality Assurance: Unit testing, version control with Git, and CI/CD pipelines.
- Intelligent Systems: Heuristic search, supervised and unsupervised learning, and the ethical deployment of AI.
