This course provides students with a comprehensive introduction to the administration of PostgreSQL, a powerful open-source relational database system. Students will learn how to install, configure, secure, optimize, and maintain PostgreSQL databases in real-world environments. Through hands-on labs, projects, and practical exercises, learners will gain the skills needed to manage users, implement access control, monitor performance, design backup strategies, and automate routine tasks.
While PostgreSQL serves as the primary platform for instruction and practice, the underlying principles, techniques, and best practices covered in this course such as user management, query optimization, indexing strategies, replication, and high availability are directly applicable to other relational database systems (e.g., MySQL, MariaDB, SQL Server). This ensures that students not only gain deep PostgreSQL expertise but also develop portable knowledge and skills that are valuable across multiple database platforms.
This course provides a comprehensive introduction to programming using the Java programming language, with a strong emphasis on structured programming principles. The course starts with the basics of Java syntax and development environment setup, and gradually progresses to more advanced topics such as control structures, loops, modular programming with methods, arrays, and file handling.
Through hands-on coding activities, students will learn how to write clear, efficient, and well-structured programs. By the end of the course, students will be equipped with a solid foundation in programming logic, problem-solving skills, and the ability to build modular Java programs from scratch.
This course provides an advanced exploration of programming with a focus on .NET technologies, modern object-oriented design, and the complexities of concurrency, parallelism, asynchronous programming, and multithreading. Students will deepen their expertise in C# and the .NET ecosystem while gaining hands-on experience in building scalable desktop applications using WinForms and integrating them with relational databases.
The course blends theory with practical application, guiding students through real-world scenarios that demand responsive user interfaces, efficient resource management, and seamless data handling. By the end of the course, learners will be equipped to design and implement high-performance applications that leverage the full power of .NET, while maintaining efficiency, maintainability, and usability.
This course provides a comprehensive introduction to the principles, tools, and practices of system administration and maintenance with a strong focus on Microsoft Windows Server environments. Students will develop the technical skills needed to install, configure, secure, and maintain Windows-based systems and networks in both standalone and enterprise settings.
The course covers operating system deployment, server roles and features, user and group account management through Active Directory, file and print services, and storage administration. Students will also explore preventive and corrective maintenance strategies, system monitoring, performance optimization, and security hardening to protect against threats. Backup and disaster recovery procedures, Windows updates, and patch management will be emphasized to ensure business continuity.
Hands-on laboratory activities and real-world scenarios will allow students to practice essential administrative tasks such as configuring group policies, managing permissions, troubleshooting server issues, and maintaining network services. Students will also learn to apply best practices in asset management, documentation, and automation of administrative tasks using PowerShell.
This course provides students with foundational and advanced knowledge in computer maintenance and troubleshooting. It covers the essential components of computer systems, including both hardware and software, and emphasizes the importance of preventive maintenance for system longevity.
Students will learn how to manage software installations and updates, perform basic and advanced troubleshooting for hardware, software, and network issues, and apply systematic diagnostic processes using common tools. The course includes hands-on activities and a final practical case study, allowing students to apply learned techniques to troubleshoot real-world system failures effectively.
This course introduces students to the foundational concepts of computing and programming, providing the groundwork for further study in information technology and computer science. The course begins with an exploration of the history and evolution of computers, core computer concepts, and how they impact modern society.
The remainder of the course focuses on basic programming principles using the Python programming language. Students will develop computational thinking and problem-solving skills through hands-on activities, writing simple Python programs to process data, make decisions, and automate repetitive tasks. The course emphasizes the practical application of programming logic, effective communication of technical ideas, and collaboration within teams. By the end of the course, students will be equipped with essential tools and knowledge to contribute to technology-driven solutions for societal advancement.
This course introduces the fundamental principles and practices of information assurance and security, focusing on protecting information systems from threats through risk management, security technologies, and effective policies.
Students will learn to assess security needs, apply tools like firewalls and cryptography, respond to incidents, and navigate legal and ethical issues. The course emphasizes hands-on skills, teamwork, and clear communication to prepare students for securing digital assets and supporting organizational and national security goals.
This course introduces students to the foundational principles and practices of integrating diverse computing systems and designing scalable architectures. The course emphasizes the analysis of user and business requirements, system-level thinking, modular design, and integration strategies for both hardware and software systems.
Students will explore architectural frameworks, middleware technologies, data flow, system interoperability, and performance evaluation. Through case studies, group projects, and hands-on exercises, learners will gain the necessary skills to contribute effectively to real-world system integration tasks within collaborative development environments.
The course is a study of the different phases of information systems development. Discussions will concentrate on the initiation, analysis and design of a system. This course strikes a balance between the theoretical and applied aspects of systems analysis, presenting systems procedures, methodology and software. Skills that will be acquired are: understanding the current system, determining the problems and their root causes and providing solutions to these problems. These skills are applied by allowing the students to experience analyzing and designing a ‘live’ system for an outside client before they do it in a real-world project.