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

30%

Project Demonstration

20%

Course # COMP 4002

Credits 6

Pre-requisites and Co-requisites: Calculus-I, Introduction to Probability & Statistics, Linear Algebra, proficiency in any programming language, preferably Python or R, is recommended.

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

Labs (5-8)

20%

Quizzes (4-7)

25%

Individual or group Projects (3-5)

25%

Group Project or Final Exam

20%

Class Participation

10%

Course # COMP 4031

Credits 6

Pre-requisites and Co-requisites: None

Course Description

This course provides a comprehensive introduction to cyber security concepts, technologies, and best practices for protecting modern information systems and digital assets. It covers fundamental topics such as authentication and access control, cryptography, network and wireless security, vulnerability assessment, and security standards and frameworks. The course also addresses software and web application security, operating system and database security, and emerging security challenges in cloud, IoT, mobile, and critical infrastructure environments. In addition, students are introduced to digital forensics, cybercrime, privacy and ethical issues, and contemporary threats such as cyber terrorism and information warfare, enabling them to analyze risks and apply appropriate security measures in real-world scenarios.

Course Learning Outcomes

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

  • Explain fundamental cyber security concepts, threat models, and the principles of confidentiality, integrity, and availability in modern computing environments.
  • Apply user authentication, access control, and cryptographic techniques to secure data, systems, and communication channels.
  • Analyze network, wireless, and internet-based security threats and evaluate appropriate defensive mechanisms and security protocols.
  • Perform vulnerability assessment using standard methodologies and tools, and interpret assessment results to identify security risks.
  • Assess software, web application, operating system, and database security issues, and recommend mitigation strategies based on best practices.
  • Compare and implement recognized security benchmarks, standards, and frameworks (e.g., ISO 27001, NIST, CIS) for organizational security planning.
  • Investigate cyber incidents using basic digital forensic techniques while demonstrating awareness of legal, ethical, and privacy considerations.
  • Evaluate emerging cyber security challenges related to cloud, IoT, mobile, and critical infrastructure systems, including cyber terrorism and information warfare.

Course Assessments and Grading

Item

Weight

Class participation and attendance

10%

Quiz activities (4)

15%

02 Assignments (Project based on various Security Tools)

15%

Mid exam in two Parts

  • Objective Part: Online
  • Subjective Part: Paper based

30%

Final exam in two Parts

  • Objective Part: OnlineSubjective Part: Paper based

30%

Course # COMP 4083

Credits 6

Pre-requisites and Co-requisites: Mobile App Development and Computer Networks

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

Problem-solving sessions

35%

Quizzes

28%

Midterm exam

17%

Final exam

20%