Skip to main content

Computer Science - Senior

Course # COMP 4812

Credits 6

Pre-requisites and Co-requisites: Final Year Project I

Course Description

Final Year Project II is a core, capstone course that offers immersive experience in research and development for students specializing in computer science. Final Year Project II is a continuation of the work initiated in Final Year Project I. In this capstone course, students further refine the research questions, methodologies, and prototypes developed during the first phase, advancing toward a fully realized solution or comprehensive set of findings. Through targeted experimentation, systematic testing, and iterative improvements, they enhance their analytical skills and deepen their project management capabilities. Collaboration with faculty, ensuring professional guidance throughout the research process. By the end of Final Year Project II, students will produce a comprehensive final report and present their results to a review committee, demonstrating mastery of the technical, methodological, and professional competencies acquired throughout their studies.

Course Learning Outcomes

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

  • Integrate advanced theoretical knowledge and research outcomes into the design and development of a functional solution or system.
  • Employ rigorous research methodologies and tools to address complex problems, ensuring the reliability and validity of project outcomes.
  • Manage the project’s timeline, resources, and deliverables by applying professional standards and best practices for efficient execution.
  • Evaluate the functionality, performance, and security aspects of the developed solution or system, ensuring it meets specified requirements.
  • Document project processes and findings in a clear, concise, and technically accurate manner suitable for academic and professional audiences.
  • Present and defend project results through well-structured written reports, oral presentations, and demonstrations, showcasing both depth of knowledge and communication skills.
  • Reflect on the research journey by identifying lessons learned, potential improvements, and opportunities for future investigation or development.

Course Assessments and Evaluation

Items

Weight

Innovation and /or App/Software/Hardware fully deployed and maintained

10%

Application of the product/Usage by a community

10%

Final Report

30%

Final Presentation

20%

Project Demonstration

20%

Course # COMP 4001

Credits 6

Pre-requisites and Co-requisites: Calculus II

Course Description

This course aims to teach students the fundamentals of Cloud Computing covering topics such as virtualization, data centers, cloud resource management, cloud storage and popular cloud applications including batch and data stream processing. Emphasis is given on the different backend technologies to build and run efficient clouds and the way clouds are used by applications to realise computing on demand. The course will include practical tutorials on different cloud infrastructure technologies. Students will be assessed via a Cloud-based coursework project.

Course Learning Outcomes

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

  • Identify modern clouds models and their functionality;
  • Analyze and discuss the principles about cloud availability, performance, scalability and cost;
  • Apply a VM application for a specific cloud infrastructure
  • Examine how popular applications such as batch and data stream processing run efficiently on clouds;
  • Design a testbed cloud

Course Assessments and Grading

Item

Weight

Homework assignments

10%

Quizzes

10%

Presentations

10%

Midterm exam

20%

Group Project

20%

Final exam

30%

Course # COMP 4031

Credits 6

Pre-requisites and Co-requisites: Operating Systems, Computer Networks, Fundamentals of Programming

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 that are required to pass the certification.

Course Learning Outcomes

Upon the completion of the course, students will 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

12%

Quizzes

16%

Lab assignments

22%

Midterm exam

20%

Final exam

30%

Course # COMP 4002

Credits 6

Pre-requisites and Co-requisites: None

Course Description

This course offers a comprehensive exploration of key concepts and practical skills essential for leveraging Python in the field of 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. The course is focused on building proficiency in utilizing Python libraries such as Pandas, NumPy, and Scikit-Learn, while also covering 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

10%

Quiz activities

15%

Assignments

15%

Mid exam in two Parts

1.     Objective Part: Online

2.     Subjective Part: Paper based

30%

Final exam in two Parts

1.     Objective Part: Online

2.     Subjective Part: Paper based

30%