Skip to main content

Computer Science - Senior

Course # COMP 4222

Credits 6

Prerequisites: Database Management Systems, Operating Systems, Computer Networks

Course Description

The System Server Administration introduces the student to the server operating systems. Students learn the basics of installing, administrating, and maintaining the Ubuntu Server on Raspberry Pi 400 / 4B. Administration of user and group accounts, SSH, DHCP, DNS, Apache, MariaDB, MPICH, backup, recovery, and disaster planning are covered. Students are guided through laboratory assignments designed to give them practical real-world experience. Students are encouraged to design, implement, and evaluate small-scale projects in teams of up to three people. 

Course Learning Outcomes

Upon the completion of this course, students should be able to:  

  • Use multiple computer system platforms and understand the advantages of each
  • Install and administer Ubuntu server on Raspberry Pi 400 / 4B
  • Protect and secure users' information on computer systems
  • Utilize SSH and related tools to remotely manage servers and infrastructure
  • Use the command line interface for Ubuntu server administration
  • Demonstrate strategies for planning/designing/recovering server systems
  • Install and manage disks, file systems, and web/email/DNS servers

Course Assessments and Grading

Item 

Weight 

Problem-solving sessions (14 sessions) 

35%

Homework assignments (1 assignment) 

2 %

Quizzes (14 quizzes) 

21 %

Midterm exam (1 midterm exam) 

20 %

Final exam (1 final exam) 

22 %

Course # COMP 4812

Credits 6

Prerequisite: Final Year Project I

Course Description 

This is the second part of a 2-part Final Year Project. In this installation, students are to execute the next phases of their development plan from Part 1 and delve into advanced project development and research integration. Students will implement advanced features, optimize code for efficiency, conduct rigorous testing, and document the entire process. Emphasis is placed on integrating relevant research findings and addressing ethical considerations. The course culminates in a compelling project presentation and oral defense. Assessment considers project progress, code quality, documentation completeness, and presentation effectiveness. This course runs concurrently with the final semester, ensuring a comprehensive and successful project conclusion. Students need to meet regularly with supervisor(s) who will monitor their continuous progress. Students are required to prepare a report and present their final work. 

Course Learning Outcomes  

Upon the completion of this course, students should be able to:  

  • Code and develop project according to the proposed plan and design.
  • Verify and validate developed modules following industrial standard practices.
  • Deploy the project to the production server.
  • Communicate project ideas and final product through technical reports and presentations.
  • Propose future improvement based on project outcomes.
  • Prepare project documentation as FYP report following the principles of academic conduct. 
  • Communicate the ideas and progress of the project in a technical report and presentation with course instructor and their academic supervisors.
  • Communicate project ideas and current work achievements clearly through technical reports and presentations.

Course Assessments and Grading 

Item 

Weight 

Project Proposal (split into several assignments) 

30% 

Project Draft Report 

20% 

Project (partial implementation 50%) 

30% 

Presentation 

20% 

 

Course # COMP 4002

Credits 6

Prerequisites: Students should possess a foundational understanding of mathematics to grasp the working principles of machine learning algorithms and their applications. Proficiency in any programming language, preferably C or Python, is recommended. 

Course Description 

This course offers a comprehensive exploration of key concepts and practical skills essential for leveraging Python in data science. The course covers a wide array of topics, providing hands-on experience in dealing with diverse data sources and employing machine learning techniques. Participants will gain proficiency in utilizing Python libraries such as Pandas, NumPy, and Scikit-Learn, along with acquiring essential statistical knowledge for effective data analysis. The course delves into ethical considerations, ensuring a holistic understanding of responsible data science practices. Additionally, it explores emerging trends in the future of data science, including artificial neural networks and deep learning models. 

Course Learning Outcomes  

Upon completion of this course, students will be able to: 

  • Utilize Python for data science tasks, including data manipulation, analysis, and visualization.
  • Employ file handling techniques and SQL queries in Python to manage and process diverse data sources.
  • Efficiently use Pandas and NumPy libraries for loading, cleaning, and manipulating datasets.
  • Perform EDA to uncover patterns, trends, and insights within datasets, and visualize findings effectively.
  • Implement machine learning classification models, regression techniques, and evaluate their performance.
  • Optimize machine learning models, utilizing AutoML, implementing tree-based models, Support Vector Machines (SVM), and exploring deep learning models such as CNN, RNN, LSTM, and Transformers.

Course Assessments and Grading 

Item 

Weight 

Class participation and attendance 

10% 

Quiz activities (4) 

15% 

02 Assignments

15% 

Mid exam  

30% 

Final exam  

30% 

 

Course # COMP 4031

Credits 6

Prerequisites: Operating Systems, Computer Networks

Course Description 

This course introduces the core security concepts and skills needed to monitor, detect, analyze and respond to cybercrime, cyberespionage, insider threats, advanced persistent threats, regulatory requirements, and other cybersecurity issues facing organizations. It emphasizes the practical application of the skills needed to maintain and ensure security operational readiness of secure networked systems. This course aligns with the Cisco Certified CyberOps Associate certification. Students who successfully complete this course will acquire the knowledge and skills required to pass the certification. 

Course Learning Outcomes 

Upon the completion of this course, students should be able to:  

  • Install virtual machines to create a safe environment for implementing and analyzing cybersecurity threat events.
  • Explain the role of the Cybersecurity Operations Analyst in the enterprise.
  • Explain the features and characteristics of the Linux Operating System.
  • Analyze the operation of network protocols and services.
  • Explain the operation of the network infrastructure.
  • Classify the various types of network attacks.
  • Use network monitoring tools to identify attacks against network protocols and services.
  • Explain how to prevent malicious access to computer networks, hosts, and data.
  • Explain the impacts of cryptography on network security monitoring.
  • Explain how to investigate endpoint vulnerabilities and attacks.
  • Evaluate network security alerts.
  • Analyze network intrusion data to identify compromised hosts and vulnerabilities.
  • Apply incident response models to manage network security incidents.

Course Assessments and Grading 

Item 

Weight 

Attendance (weekly attendance) 

12% 

Quizzes (4 quizzes) 

16% 

Lab assignments (42 labs) 

22% 

Midterm exam 

20% 

Final exam 

30% 

Course # COMP 4083

Credits 6

Prerequisites: Computer Networks, Software Engineering, Mobile App Development

Course Description

The Internet of Things (IoT) stands to be the next revolution in computing. The objective of this course is to provide a broad overview of the Internet of Things concepts such as smart city, smart home, smart energy, smart industry, and smart transport. Students learn the programming of IoT devices (Arduino, Raspberry Pi, and ESP8266), sensing and actuating technologies, IoT protocols, big data, etc. Students are guided through laboratory assignments designed to give them practical real-world experience deploying a distributed WiF / Ethernet monitoring service with different sensors / actuators. Students are encouraged to design, implement, and evaluate small-scale IoT projects in teams of up to three people. 

Course Learning Outcomes

Upon the completion of this course, students should be able to:  

  • Describe how the current digital transformation is creating unprecedented economic opportunity
  • Present how the IoT is bridging the gap between operational and information technology systems
  • Develop a prototype of smart city infrastructure in Cisco Packet Tracer
  • Simulate data interactions traveling through the IoT network
  • Visualize the network in both logical and physical modes (Cisco Packet Tracer)
  • Apply skills through practice employing labs with IoT soft-/hardware and Cisco Packet Tracer
  • Discover how standard business processes are being transformed in smart cities

Course Assessments and Grading 

Item 

Weight 

Project Proposal (split into several assignments) 

30% 

Project Draft Report 

20% 

Project (partial implementation 50%) 

30% 

Presentation 

20%