Undergraduate Catalog in Computer Science
Credit: 2 (Computing Topics); Required
Contact Hours: 2 (Lecture: 1/week, Lab/practice: 1/week)
This course focuses on data analysis using Python and introduces students to key data types and pre-processing techniques using libraries such as NumPy, Pandas, Matplotlib, and Scikit-learn. Students gain hands-on experience in handling structured data (numerical, categorical, time series, text, and image) and in building basic machine learning pipelines. Emphasis is placed on practical skills and applying programming to solve AI-related problems.
Prerequisites: None
Credit: 3 (Math & Basic Science); Required
Contact Hours: 3 (Lecture: 2.5/week, Lab/practice: 0.5/week)
Physics 1 provides engineering students with (i) basic physics knowledge about the mechanical motion of macroscopic objects and thermal phenomena of matter; (ii) the ability to conduct experiments related to measuring/investigating mechanical and thermal properties/phenomena and to report results in a formal technical report; (iii) developing teamwork skills. Thereby helping learners to practice and develop the ability to think, analyze, reason, and classify physical phenomena related to mechanics, thermodynamics, and explain them.
Prerequisites: None
Credit: 3 (Math & Basic Science); Required
Contact Hours: 3 (Lecture: 3/week, Lab/practice: 0/week)
This course provides fundamental theoretical knowledge in optimization and its applications to real-world problems. Topics include unconstrained and constrained optimization, convex and non-convex optimization, linear and nonlinear optimization, and related solution methods.
Prerequisites: None
Credit: 2 (Computing Topics); Required
Contact Hours: 2 (Lecture: 1.5/week, Lab/practice: 0.5/week)
This course introduces students to fundamental concepts of operating systems. It covers the structure and functions of operating systems, including process and thread management, CPU scheduling, deadlocks, memory management (including virtual memory), file systems, I/O management, and system security. Students will apply knowledge through hands-on implementation of key algorithms.
Prerequisites: None
Credit: 3 (Computing Topics); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/week)
This course provides students with knowledge of algorithm complexity and key data structures such as arrays, linked lists, stacks, queues, trees, hash tables, and heaps. Students learn to implement and evaluate algorithms for sorting, searching, and data organization using C/C++. Real-world problems are introduced to help students understand how to select and apply data structures and algorithms effectively.
Prerequisites: CSE703038 - Programming I
Credit: 3 (Computing Topics); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/week)
This course introduces fundamental concepts of modern data management, including database schema design, data modeling, query languages, application development, and transaction management. Students gain practical experience in SQL and MySQL, along with techniques for database design, normalization, and implementation in programming environments of everyday life.
Prerequisites: None
Credit: 3 (Computing Topics); Required
Contact Hours: 6 (Lecture: 3/week, Lab/practice: 3/week)
This course introduces the structure and function of computer components including instruction sets, arithmetic logic, control and datapaths, pipelining, memory hierarchy, and I/O subsystems. Students learn fundamental principles of hardware design and how these principles impact system performance. Practical sessions focus on embedded systems using Arduino.
Prerequisites: None
Credit: 3 (Computing Topics); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/week)
Covers numerical methods essential for machine learning, focusing on solving large-scale optimization problems. Topics include unconstrained and constrained optimization methods, automatic differentiation, eigenvalue decomposition, and matrix factorizations. Students will formulate, analyze, and implement algorithms relevant to ML.
Prerequisites: CSE703057 - Optimization
Credit: 3 (Computing Topics); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/week)
Covers numerical methods essential for machine learning, focusing on solving large-scale optimization problems. Topics include unconstrained and constrained optimization methods, automatic differentiation, eigenvalue decomposition, and matrix factorizations. Students will formulate, analyze, and implement algorithms relevant to ML.
Prerequisites: CSE703006 - Data Structures and Algorithms
Credit: 3 (Computing Topics); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/week)
This course introduces the fundamental concepts of object-oriented programming methodologies. Topics covered in this course include introducing the three principles of OOP: encapsulation, inheritance, and polymorphism, data types, variables, arrays, operators, control statements, introducing classes, methods, packages, interfaces, exception handling. This course emphasizes the methodologies of object oriented programming. Students are expected to apply these programming methodologies to build a simple project.
Prerequisites: CSE703038 - Programming I
Credit: 3 (Computing Topics); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/week)
This course introduces the fundamentals of machine learning, covering supervised learning techniques such as regression and classification, unsupervised learning methods like clustering and dimensionality reduction, and a basic overview of neural networks. Emphasis is placed on practical implementation and critical evaluation of ML models using real-world data.
Prerequisites: FFS703007 - Linear Algebra.
Credit: 3 (Computing Topics); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/week)
This course introduces the basic concepts, principles, methods, implementation techniques, and applications of data mining, with a focus on two major data mining functions: (1) data preprocessing, (2) pattern discovery and (3) cluster analysis.
Prerequisites: CSE703006 - Data Structures and Algorithms
Credit: 3 (Math & Basic Science); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/week)
The course covers the following topics: matrices and determinants, linear systems. Vector spaces, inner product spaces and linear transformations. Matrix eigenvalue problems and matrix diagonalization. Vector differential calculus.
Prerequisites: None
Credit: 3 (Computing Topics); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/week)
This course introduces the fundamentals of digital image processing, including image representation, enhancement, transformation, filtering, and feature extraction. Applications include object detection and tracking using practical programming tools.
Prerequisites: FFS703007 - Linear Algebra
Credit: 3 (Computing Topics); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/week)
This course introduces core concepts of neural networks and deep learning. It covers perceptron models, backpropagation algorithms, convolutional and recurrent neural networks, and their applications to structured (tabular), image, and text data. Students will build deep learning models using modern tools such as Keras and TensorFlow.
Prerequisites: None
Credit: 3 (Computing topics); Required
Contact Hours: 3 (Lecture: 3/week, Lab/practice: /week)
This course builds upon foundational knowledge of data structures and algorithms. It covers both classic and advanced algorithmic techniques with applications in discrete optimization. Topics include greedy and dynamic programming strategies, correctness proofs, complexity analysis, graph algorithms (DFS, BFS, shortest paths, matchings), and flow network algorithms.
Prerequisites: CSE703006 – Data Structures and Algorithms
Credit: 2 (Computing topics); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/week)
This course introduces the principles and practices of software engineering and guides students through the software development life cycle (SDLC). Students will gain experience in requirement analysis, design, implementation, testing, and maintenance. Emphasis is placed on team collaboration, project documentation, and the delivery of a working software system.
Prerequisites: None
Credit: 3 (Computing Topics); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/week)
This course provides an introduction to natural language processing (NLP) techniques and their applications. Topics include text preprocessing (tokenization, stemming, lemmatization), statistical language models, named entity recognition, part-of-speech tagging, sentiment analysis, topic modeling, and chatbot development. Practical sessions focus on implementing NLP pipelines using Python and libraries such as NLTK and spaCy.
Prerequisites: FFS703010 - Probability and Statistics
Credit: 2 (Computing topics); Required
Contact Hours: 2 (Lecture: 2/week, Lab/practice: 0/week)
This course introduces fundamental concepts, protocols, and architecture of computer networks. Key topics include the OSI and TCP/IP models, application layer protocols (HTTP, DNS, Email), transport layer mechanisms (TCP/UDP, congestion and flow control), network layer (IP addressing, routing algorithms), data link protocols (MAC, Ethernet, Wi-Fi), and basic aspects of network security.
Prerequisites: None
Credit: 2 (Computing topics); Required
Contact Hours: 2 (Lecture: 2/week, Lab/practice: 0/week)
This project-based course enables students to work in small teams to design and implement solutions to practical computing problems. Students apply knowledge and skills acquired during the first and second years, including programming, algorithms, databases, operating systems, Emphasis is placed on problem formulation, collaborative development, technical communication, and professional responsibility.
Prerequisites: CSE703020 – Machine Learning
Credit: 2 (Computing topics); Required
Contact Hours: 3 (Lecture: 3/week, Lab/practice: 0/week)
This course introduces the foundational principles and practices in computer and information security. Topics include cryptographic systems, authentication, access control, network and software security, risk management, physical security, and legal/ethical aspects of cybersecurity. Students will engage in identifying vulnerabilities and applying security controls across various platforms.
Prerequisites: None
Credit: 3 (Computing topics); Required
Contact Hours: 3 (Lecture: 3/week, Lab/practice: 0/week)
Students undertake interdisciplinary projects supervised by faculty, working in teams (up to 5 members) to address domain-specific problems through computing solutions. Collaboration across disciplines is encouraged to simulate real-world professional environments where computing intersects with various fields. Emphasis is placed on comprehensive problem-solving, secure technology use, documentation, and teamwork.
Prerequisites: CSE702127 – Project I
Credit: 3 (Computing topics); Required course
Contact Hours: 2 (Lecture: 0/week, Lab/practice: 2/week)
This course offers students real-world exposure to professional environments in CS/IT-related enterprises or organizations undergoing digital transformation. Under the mentorship of company engineers, students observe operations, engage in project work, and gain hands-on experience. The internship emphasizes professionalism, ethical practices, and job-readiness, helping students understand workplace dynamics and their future roles in the industry.
Prerequisites: None
Credit: 2 (Computing topics); Required
Contact Hours: 2 (Lecture: 1/week, Lab/practice: 1/week)
This course introduces fundamental concepts of computer science, including basic computer architecture, software systems, and networks. Students will explore ethical issues in computing, develop basic skills in Linux, and solve computational problems using Python. The course includes field experiences to connect theory with professional CS/IT practice.
Prerequisites: None
Credit: 3 (Computing topics); Required course
Contact Hours: 4 (Lecture: 0/week, Lab/practice: 4/week)
This course supports students in consolidating their academic and technical background by engaging in an internship that sets the foundation for their graduation project. Internships can be conducted in companies, departmental labs, or university research groups. Students gain exposure to solving practical problems, working in real environments, and identifying meaningful project directions that reflect industry or academic demands.
Prerequisites: CSE702127 – Project I
Credit: 3 (Computing topics); Required course
Contact Hours: 10 (Lecture: 0/week, Lab/practice: 10/week)
This capstone course provides students with the opportunity to demonstrate mastery of the computing discipline by planning, developing, and evaluating a full-scale computing solution. Students synthesize technical and professional knowledge gained throughout the program to complete a well-documented and defensible project. Activities include problem identification, requirements elicitation, system design, implementation, testing, and presentation of results.
Prerequisites: CSE703014 – Project II, CSE704067 – Graduation Internship
Credit: 3 (Computing topics); Required
Contact Hours: 4 (Lecture: 2/week, Lab/practice: 2/week)
This course aims to introduce to students the fundamentals of C programming. Basic techniques used in the declaration of data, the expressions, the branches statement, the type of loops, the definition of function, the use of pointer and the structure in C are presented. In addition, this course also orients thinking methods, programming styles, and solving simple problems in C programming language.
Prerequisites: None
Credit: 3 (Math & Basic Science); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/week)
The course covers the following topics: Differential calculus of functions of single variable and of several variables. Double and Triple integrals. Line integrals. Surface integrals. 1st order ordinary differential equations.
Prerequisites: None
Credit: 3 (Math & Basic Science); Required
Contact Hours: 3 (Lecture: 3/week, Lab/practice: 0/week)
Discrete Mathematics provides basic mathematical knowledge for the discipline including the foundations of mathematical logic, number theory, algorithms, counting theory, graph theory, tree, automat, and formal language. All the above units of knowledge are linked together into a related and logically unified curriculum. The subject also includes many exercises to help students practice mathematical thinking skills and apply theoretical knowledge in solving real-life problems.
Prerequisites: None
Credit: 3 (Math & Basic Scienc); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/week)
Physics 2 provides students with (i) basic physics knowledge about Electricity, Magnetism, Oscillation, Wave, and Quantum Optics; (ii) the ability to conduct experiments related to measuring/investigating Electrical, Magnetic, and Quantum Optical properties/phenomena and to report results in a formal technical report; (iii) developing teamwork skills. Thereby helping learners to practice and develop the ability to think, analyze, reason, and classify physical phenomena related to Electricity, Magnetism and Quantum Optics, and explain them.
Prerequisites: None
Credit: 3 (Math & Basic Science); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/week)
The course covers the following topics: basic probability theory, probability distribution of random variables. mathematical statistics containing random sampling, estimation of parameters, hypothesis testing. Correlation analysis and simple regression analysis.
Prerequisites: None
No posts found
Menu