GIN450Advanced Computer Architecture
3 credits | Pré-requis: GEL445
This course first reviews general computer architecture and presents the concept of cache memory and pipelining in single processor systems. Multiprocessing systems are then discussed, starting with a global overview to tackle the next advanced topics of interconnection networks, shared memory and cache coherence, abstract models and algorithms for multiprocessor systems, the parallel virtual machine and message passing.
GIN400Advanced Database Systems
3 credits | Pré-requis: GIN300 And GIN321
The objective of this course is to study the advanced paradigms of database management systems. The content of this course consists of four main parts: the first part introduces advanced concepts of DBMS such as query optimization, concurrency control and recovery; the second part presents the distributed DBMS, detailing the architecture of these systems in order to identify their different types such as client/server DBMS, distributed DBMS, federated DBMS and multi-DBMS, and finally focuses on the fragmentation and data allocation in distributed databases; the third part presents the analytical databases, specifically data warehouses, explaining the difference between online analytical processing (OLAP) and online transactional processing (OLTP), the ETL process (extraction, transformation and loading) of these warehouses and their logical and physical modeling; the fourth part introduces OODBMS and ORDBMS, their creation and manipulation using respectively the OQL and SQL3 languages.
GIN401Advanced Database Systems Lab
1 credits
This laboratory will study more advanced features of databases in design, administration, security and multi-user application. Topics include database scripting, database transaction, database security, database maintenance, data warehouses and distributed databases.
GIN321Algorithmics
3 credits | Pré-requis: GIN231
Students will study: asymptotic notation, time and space complexities; solving recurrences; trees (traversing methods, balanced trees (AVL and red-black trees), heaps); advanced sorting algorithms, methods of linear sort; hashing (open and closed hashing); graphs (traversal in depth-first and breadth-first, finding of spanning trees and shortest paths); Huffman coding.
GIN231Data structures and Algorithms
3 credits | Pré-requis: GIN221
The first part of this course introduces some concepts of object-oriented programming as well as recursion as a programming technique. In the second part, the following data structures are studied: static arrays, dynamic arrays, linked lists, stacks, queues and trees. In addition, an introduction to computational complexity is introduced in this course which allows for making a reasonable comparison between the different implementations of the above data structures.
GIN371Database Laboratory
1 credits
This laboratory covers the SQL language: Data Definition language (DDL) and Data Manipulation Language (DML). Oracle PL/SQL is used to code, test, and implement stored procedures, functions, triggers, and packages. Relational database projects will be built using PL/SQL. A brief overview of other DMBS (MS SQL Server, MS Access, MySQL) is also given.
GIN300Database Systems
3 credits | Pré-requis: GIN 231
Students will study: the architecture and functions of a DBMS; database design (conceptual model, logical and physical models); the Entity-Relationship model; relational model and integrity constraints; relational algebra; SQL language (Data Definition language (DDL) and Data Manipulation Language (DML)); functional dependencies, normalization and normal forms; and an introduction to PL/SQL language (triggers, stored procedures and functions). The concepts studied in this course will be applied in dedicated laboratory sessions (GIN371).
GEL314Digital Electronics
GEL314Digital Electronics
2 credits | Pré-requis: GEL311
This course offers a reminder of synchronous, asynchronous and shift register counters. It also includes: the Moore and Mealy machine; digital integrated circuits; elements of programmable logic PAL and PLA; random access memory RAM; ROM read-only memories; analog to digital conversion, and analog and digital conversion applications.
GEL372Digital Electronics Laboratory
1 credits
This laboratory consists of first an introduction to logic gates, and function implementation using logic gates and logic circuits, second an introduction to VHDL language as well as using it for function implementation, and third function implementation using the Altera card.
GIN527Distributed Systems
3 credits | Pré-requis: GRT431
The objective of this course is to explain the principles of distributed systems and their different hardware and software architectures. The concepts discussed are: C/S and P2P architectures, inter-process communication, distributed file system, sockets programming, calling procedures and methods remotely (RPC and RMI), CORBA architecture, time synchronization in distributed systems, logical time, coordination algorithms, mutual exclusion, cloud computing, grid computing, clusters, and an introduction to parallel programming.
GEL211Electric Circuits
3 credits
This course presents the basics of electric circuits’ analysis: introduction to theory, circuit variables and elements (dependent and independent voltage and current sources, resistors, inductors, capacitors); basic analysis and design of resistive circuits and different analysis techniques (Node-Voltage analysis, Mesh-Current analysis, source transformations, Thevenin’s and Norton’s equivalent, maximum power transfer, and Superposition methods); an introduction to capacitance, inductance, and mutual inductance; current-voltage relation; RC, RL and RLC circuits analysis (natural and step responses). Topics also include ideal operational amplifiers circuit simplification, steady-state and transient analysis, phasors, frequency response, Kirchhoff’s laws and Thevenin’s and Norton’s equivalent represented in the frequency domain, Laplace transform and an introduction to Transfer functions.
GEL271Electric Circuits Lab
1 credits
Introduction to the laboratory devices. Introduction to Pspice (simulation software). Simple electric circuits like voltage and current-divider and resistance measurements are implemented and analyzed. Then, students are faced to Thevenin's theorem and Norton equivalent circuit. Ideal Operational Amplifier circuits like the inverting, non-inverting, integrator … are also studied. The Bode and phase diagrams of first order passive filters are determined and simulated. Finally, the Kirchoff's law in the frequency domain and Thevenin theorem and power measurement are done.
GEL313Electronics
3 credits | Pré-requis: GEL211
This course begins with an introduction of the physics of semiconductors and of the p-type and n-type semiconductors. Then, we introduce the PN junction, the diode, the Zener diode, their equivalent electrical models and their applications (rectifying circuits, limiting and clamping circuits, voltage regulators, etc.). The second part of this course treats the bipolar transistors in both NPN and PNP configurations. We define the different functioning modes (blocked, linear and saturated) and then we study the DC aspect of these transistors considering different biasing circuits. Afterwards, we do an AC analysis of the BJT amplifier circuits studying the small signal models, the current gain, the voltage gain, the input and output impedances. We finally study all three amplification configurations in common base, common emitter and common collector as well as in multi-stage amplifiers. The last part of this course addresses the subject of MOSFET transistors (the p-channel and the n-channel, depletion-type and enrichment-type), defining different functioning modes and their corresponding models in DC and in small signals.
GEL371Electronics Lab
1 credits | Pré-requis: GEL271
First, we remind the students of the measuring devices and we introduce Multisim software. Then, students study the characteristics of different types of diodes and circuits. The characteristics of the bipolar junction transistor and the phototransistor are elaborated as well as the characteristics of the FET and MOSFET. Different configurations of transistor-based circuits are also analyzed. The work is simulated with Multisim and an electronic project ends the course.
GIN311Elements of Discrete Mathematics
2 credits | Pré-requis: MAT207 And GIN221
This course presents different topics in discrete mathematics useful in engineering. It includes: numerical sets and divisibility, notions in number theory, proof methods, recurrence relations, discrete functions, big O and Theta notions, algorithms analysis, prop, and predicates logic, elements of graph theory, introduction to language theory, regular languages, finite automaton, types of grammars, and Chomsky classification.
GIN596Final Project I
1 credits
This course pushes the students to demonstrate readiness to start their careers as professional engineers by undertaking an investigation of a research topic relevant to the profession and by appraising its practical experience. The research topic will give the students the opportunity to marshal the relevant knowledge and skills from various courses and laboratories of the program and apply them to investigate an approved research topic and then produce a report of professional standard.
GIN597Final Project II
3 credits | Pré-requis: GIN596
This course pushes the students to demonstrate readiness to start their careers as professional engineers by undertaking an investigation of a research topic relevant to the profession and by appraising its practical experience. The research topic and applied developed product or study will give the students the opportunity to marshal the relevant knowledge and skills from various courses and laboratories of the program and apply them to investigate an approved research topic and then produce a report of professional standard. This course requires students to exhibit/develop a proactive approach to manage, orient and present a project.
GIN480Internship I
1 credits
In order to register for this course, the students first spend a minimum of two months experience in the industry or a company and live a real practical experience in the field of practice that they have chosen. Afterwards, the students present their “job” and what they learned from it in a well-structured and well-written scientific report.
GIN581Internship II
1 credits
In order to register for this course, the students first spend a minimum of two months experience in the industry or a company and live a real practical experience in the field of practice that they have chosen. Afterwards, the students present their “job” and what they learned from it in a well-structured and well-written scientific report.
GIN221Introduction to Programming
3 credits
This introductory course in programming enables engineering students to learn the methods of rigorous software development solutions in the object-oriented paradigm. The course is supplemented by laboratory sessions for the application of programming concepts studied in the Eclipse integrated development environment.
GEL311Logic Design
3 credits | Pré-requis: GIN221
This course introduces the circuits composed of elements used for basic logical operations. These circuits are the basis for digital systems. The course also focuses on reasoning methods that allow the analysis or synthesis of logical systems that are combinatorial or sequential. It enables students to realize the importance of concepts related to logic circuits in the fields of information technology, telecommunications, industrial control, and other areas.
GEL445Microprocessors
3 credits | Pré-requis: GEL314
This course introduces basic computer architecture and assembly language programming. The Intel 8088 and 8086 microprocessors are considered as a practical example. After describing the software architecture of the microprocessor, the instruction set (assembly language), addressing modes and machine language are then presented. Input/output types and interfaces are then discussed. Interrupts are explained in the last part.
GEL474Microprocessors Laboratory
1 credits | Pré-requis: GEL445
The aim of this lab is the practical application of assembly language to program a microprocessor with hardware interfacing. Students begin by exploring the logical architecture of the Intel 8086 processor using the development board and the corresponding software tool and code compiler. Physical architecture is then explored, while interfacing the processor with different Inputs/Outputs using the associated development board.
GRT431Network Architecture and Protocols
3 credits | Pré-requis: GEL311 And GIN231
The purpose of this course is to give a strong and clear basis regarding technical characteristics of networks and their functioning. Reference models of the network architectures as OSI and TCP/IP will be described. Then, we will detail the different levels of this architecture. In brief, we will look at transmission basics, protocols for link control and media access control, network equipment, Ethernet and IP networks, routing, transport protocols and application protocols for the Internet.
GRT473Network Architecture and Protocols Lab
1 credits
The purpose of this lab is to apply the information given in the course using different approaches: configuration of network equipment and network installation, network supervising and troubleshooting using different tools, then performance evaluation. For that, we will mainly use network specialized simulators like CISCO Packet Tracer and the Wireshark software used for packets capture and protocol analysis. In brief, we will look at some protocols from application layer (HTTP, DNS), TCP protocol, ARP protocol, Ethernet network, static and dynamic routing protocols and VLAN.
GEL420Nonlinear Electronics
3 credits | Pré-requis: GEL313
Students will learn about: operational amplifiers (ideal and real models, linear operation (op-amp) and nonlinear operation (comparator, circuit Hysteresis, etc.)); function generators (square wave and triangular wave generator); sinusoidal oscillator circuits (LC and RC) and Phase Locked Loop (PLL) circuits; and filters design (low-pass, high-pass, band pass and stop band) .
GEL472Nonlinear Electronics Lab
1 credits
We introduce first the linear and non-linear operational amplifiers and we calculate the offset voltage and offset current. Then we implement different types of op amp circuits and we thoroughly study low pass, high pass, band pass and stop pass active filters of different orders. Many other applications are implemented like log and anti-log circuits, comparators, Schmitt trigger, stable and astable multivibrators, oscillators and the Phase-Locked Loop (PLL).
GIN314Object Oriented Design
3 credits | Pré-requis: GIN231
This course covers: the fundamental concepts of object-oriented programming (classes, objects, abstraction, encapsulation, inheritance, polymorphism, dynamic links, inter-classes relations, inter-objects communication); object-oriented modeling and design using UML (Unified Modeling Language); design patterns (their intent, applicability (including benefits and drawbacks), structure and implementation); advanced object‐oriented programming needed in implementation of certain patterns (in Java (dynamic class loading, static blocks, interfaces, inner class tricks) and in C++ (abstract base classes, virtual functions, private and public multiple inheritance mixtures)); use of OCL (Object Constraint language); and use of UML modeling tools (AgroUML, Visio, etc.).
GIN421Operating Systems
3 credits | Pré-requis: GIN321
The course covers the fundamental concepts of operating systems, emphasizing single-machine systems. These concepts include processes, threads, process synchronization, CPU scheduling, memory management, file and I/O management, and user program execution. Popular operating systems (e.g., UNIX, LINUX, and Windows) are used to illustrate implementation of these concepts.
GEN499Seminars and Conferences
Each semester, the Faculty of Engineering organizes several seminars and conferences in which leading figures in the professional and academic world target future engineers with a speech presenting scientific, technical, and/or industrial topics, etc. and showing them the various aspects of the engineering profession.
GIN425Software Engineering Design
3 credits | Pré-requis: GIN314
This course is a presentation of software engineering principles, methodologies and metrics. The topics of software engineering process and quality are presented in an integrative approach, stressing software improvements through measurements of software products and processes. The Unified Modeling Language (UML) is used throughout the course. Topics covered are software development process, domain analysis, object-oriented programming, software reuse, client-server framework, design patterns, user interfaces, dynamic modeling, software architecture, software testing, software quality, risk analysis and cost estimation.
GIN446Web Programming
3 credits | Pré-requis: GIN300
This course aims to cover key concepts, technologies and skills in server-side and client-side Web programming, including HTML5, CSS, JavaScript, .Net, PHP and MySQL, session management, as well as XML, DTD and DOM. After the completion of this course, students will be able to develop a Web system using a particular Web programming language with dynamic and interactive contents. Students will learn the Web programming concepts and techniques via lectures, lab sessions and development projects. There will be an oral presentation of all term assignments and a final project demonstration. Students will be judged and graded on preparation and presentation skills as well as content and also on effective writing style and grammatical correctness. Course content changes frequently to incorporate new Internet technologies.