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% |