Undergraduate Catalog in Information Technology
Credit: 3 (Math & Basic Science); Required
Contact Hours: 3 (Lecture: 3/week, Lab/practice: 0/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: 0/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: 3 (Lecture: 2/week, Lab/practice: 1/week)
This course introduces basic knowledge of web applications. Topics include HTML, CSS, JavaScript and jQuery.
Prerequisites: None
Credit: 2 (Computing Topics); Required
Contact Hours: 2 (Lecture: 2/week, Lab/practice: 0/week)
Computing Topics
Prerequisites: None
Credit: 3 ((Math & Basic Science); Required
Contact Hours: 3 (Lecture: 3/week, Lab/practice: /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
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: 3 (Computing topics); Required
Contact Hours: 2 (Lecture: 1/week, Lab/practice: 1/week)
The course is designed to provide students with the necessary knowledge and skills to design and develop web-based information systems. By the end of the course, students will have the ability to create basic websites and will possess a comprehensive understanding of web development technologies, specifically focusing on the PHP programming language within the MVC model.
Prerequisites: None
Credit: 2 (Computing topics); Required
Contact Hours: 2 (Lecture: 1.5/week, Lab/practice: -05/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 (Computer Engineering); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/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: 2 (Computing topics); Required
Contact Hours: 2 (Lecture: 1.5/week, Lab/practice: 0.5/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: 1/week, Lab/practice: 1/week)
This course aims to introduce to students the process of creating software systems from analysis and design. Techniques used in the analyze, design, development, and implementation phases of the software development life cycle are presented. A complete system, designed and developed as a small group project is constructed during the course. Emphasis is placed on the development of a simple but functional system.
Prerequisites: CSE703029 - Object-Oriented Programming (3)
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: 2 (Computing topics); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/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: 2 (Computing topics); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/week)
This course aims to provide students with knowledge of mobile programming for both Android and iOS operating systems. Specifically, students will learn about Flutter framework and Dart programming language, how to build user interfaces with widget tree, access internet resources using JSON and web services, saving data with local persistence and cloud Firestore database. At the end of the course, students can install, package the application and then push it to the Play Store of the Android operating system or the App Store of the iOS operating system.
Prerequisites: CSE703029 - Object-Oriented Programming (3)
Credit: 2 (Computing topics); Required
Contact Hours: 2 (Lecture: 1/week, Lab/practice: 1/week)
This course provides students with fundamental knowledge and practice in reading, writing scientific papers, and presenting. It aims to develop academic and general topic-related writing and presentation skills, fostering an appreciation for scientific writing and presentation.
Prerequisites: None
Credit: 3 (Computing Topics); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/week)
This course introduces human-computer interaction and the design process, focusing on methods for designing and prototyping interactive systems. Students will follow a user-centered design approach, from defining problems to creating digital prototypes. The emphasis is on design, not development. By the end, students will complete a major group project, including interface prototyping, testing, a final report, video, presentation, and poster.
Prerequisites: None
Credit: 2 (Computing topics); Required
Contact Hours: 2 (Lecture: 1/week, Lab/practice: 1/week)
Provide basic knowledge of cloud computing including basic concepts of cloud computing, issues of data storage and processing, safety and security; service architectures, monitoring systems; technology applied and its design composition. Based on that, the module helps students have a knowledge base to participate in building and developing applications on cloud computing or can self-direct the deployment of clouds according to usage needs.
Prerequisites: None
Credit: 3 (Computing topics)); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/week)
Embedded systems are everywhere, in phones, TVs, cars, and more, and outnumber traditional computers. This course introduces the basics of designing, interfacing, and programming embedded systems, using Arduino for hands-on practice. Students will gain essential skills in building and programming embedded devices.
Prerequisites: CSE703038 - Programming I (3)
Credit: 2 (Computing topics); Required
Contact Hours: 2 (Lecture: 0/week, Lab/practice: 2/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: CSE703029 - Object-Oriented Programming (3), CSE703008 – Databases
Credit: 2 (Computing topics); Required
Contact Hours: 2 (Lecture: 1/week, Lab/practice: 1/week)
This course builds on prior C knowledge to develop advanced C++ programming skills. Students will learn Object-Oriented Programming, C++ syntax and style, and work with features like Stream I/O, STL, classes, and templates. The goal is to write efficient, reusable, and reliable C++ code.
Prerequisites: None
Credit: 3 (Computing topics); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/week)
This course provides an overview of the fundamental concepts in Software Testing and Quality Assurance. It introduces key testing techniques to ensure that software systems or products implement the intended functionality correctly. Topics include black-box (functional), white-box (structural), and usage-based statistical testing, organized around underlying models such as lists, partitions and equivalence classes, and finite-state machines. The course also covers essential aspects of test planning and management, including testing phases, team organization, roles and responsibilities, and the use of test automation. Additional verification and validation methods are explored to provide students with a comprehensive understanding of modern software testing practices.
Prerequisites: None
Credit: 2 (Computing topics); Required
Contact Hours: 2 (Lecture: 2/week, Lab/practice: 0/week)
This course aims to introduce to students the principle of application and system security. Specific security issues when deploying applications are presented such as threat modeling, authentication and authorization, cryptography and digital signature, network security (selected topic including security in database systems, e-commerce security, network intrusion, IP network infrastructure, Web applications security, wireless network security, Blockchain) and incident response.
Prerequisites: CSE703004 - Information Security (3)
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: 2 (Computing topics); Required course
Contact Hours: 2 (Lecture: 1.5/week, Lab/practice: 0.5/week)
This course covers the fundamentals of distributed systems, including communication, synchronization, consistency, fault tolerance, and security. It also explores system models like object-oriented, file-based, and coordination-based designs.
Prerequisites: None
Credit: 2 (Computing topics); Required
Contact Hours: 2 (Lecture: 2/week, Lab/practice: /week)
This course introduces students to the principles and practices of project management as applied to information technology projects. Students will learn how to plan, execute, and control IT projects, and how to manage project teams effectively. The course will cover key topics such as project scope management, schedule and budget management, risk management, quality management, and stakeholder management.
Prerequisites: None
Credit: 3 (Computing topics); Required
Contact Hours: 2 (Lecture: 0/week, Lab/practice: 3/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: None
Credit: 2 (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: 4 (Computing topics); Required course
Contact Hours: 4 (Lecture: 0/week, Lab/practice: 4/week)
Building on the knowledge and skills acquired throughout the program, this course helps students develop essential skills before graduation by identifying the direction and topic of their graduation project. The internship can be conducted at a company or with faculty members in the department's research laboratory or other research labs within the university. In addition to reinforcing specialized knowledge through practical exposure, students will also learn how to apply theoretical knowledge to solve real-world production problems, guiding them towards selecting a topic for their graduation project.
Prerequisites: CSE702013 - Project I (2)
Credit: 10 (Computing topics); Required
Contact Hours: 10 (Lecture: 0/week, Lab/practice: 10/week)
This course enables students to apply the knowledge and skills acquired throughout their studies to develop and implement a specific application or system in the field of Information Technology. The final project requires students to demonstrate their capability and systematic thinking through needs assessment, system analysis/design, development/integration, and application testing and implementation.
Prerequisites: CSE704067 - Graduation Internship (4), CSE703014 - Project II (3)
Credit: 3 (Math & Basic Science); Required
Contact Hours: 3 (Lecture: 3/week, Lab/practice: 0/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 (Core course); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/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: 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 (Computing topics); Required
Contact Hours: 3 (Lecture: 3/week, Lab/practice: 0/week)
This course introduces fundamental concepts in digital logic design, including number systems, logic gates, Boolean algebra, simplification techniques, combinational and sequential circuit design. Students will gain foundational skills in analysis, simplification, and implementation of digital systems, such as decoders, encoders, multiplexers, arithmetic circuits, flip-flops, counters, and shift registers.
Prerequisites: None
Credit: 3 (Computing topics); Required
Contact Hours: 3 (Lecture: 2/week, Lab/practice: 1/week)
This course introduces object-oriented programming, focusing on encapsulation, inheritance, and polymorphism. Topics include data types, control statements, classes, methods, interfaces, and exception handling. Students will apply OOP principles to build a simple project.
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 (3) or equivalent
No posts found
Menu