GUC Curriculum
Semester-by-semester coursework from the BSc in Computer Science & Engineering at the German University in Cairo (2015 – 2020). Courses highlighted in gold are the ones featured next to the degree on the resume.
10th Semester
Part of the GUC Master of Computer Science programme.
- CSEN 1001 Computer and Network Security
A detailed insight into security for computer and network systems: comprehensive security strategy for pervasive information systems, databases, and Internet-based distributed systems in the face of increasingly sophisticated attacks.
Catalog entry - CSEN 1003 Compiler
Introduction to and in-depth study of the components of modern compilers: lexical, syntax, and semantic analysis; intermediate code generation; code generation and optimization; regular/context-free grammars, parsing, symbol manipulation, type checking, syntax trees, three-address code.
Catalog entry - CSEN 1002 Advanced Computer Lab
Practical compiler implementation as a four-milestone programming project. The final implementation generates executable code for the JVM or other target architectures.
Catalog entry - CSEN 1075 Seminar on Affective Computing Elective
Latest research in Affective Computing: systems that track, classify, and respond to the user's affective state (mood, emotions, cognition). Topics include emotion theory, expression, measurement (contact/contactless sensors), artificial emotions, ethics, and applications in HCI, HRI, and learning.
Catalog entry - CSEN 1094 Deep Learning for Self-Driving Cars Elective
Developing systems for autonomous vehicles: deep learning, computer vision, and real-time vehicle communication. Open to beginners in machine learning and useful as a practical overview for advanced researchers.
Catalog entry - CSEN 1099 Introduction to Biomedical Engineering Elective
Analyzing biomedical signals with signal processing and machine learning techniques. Covers biomedical sensors, ECG and heart signals, cardiac pacemakers, EMG and muscle activity, brain electrophysiology, brain–machine interfaces, physiological modeling, and bioinformatics.
Catalog entry - HUMA 1001 Project Management
Managing IT/IS projects through planning and execution of lifecycle phases: cost estimation, risk management, scheduling, staffing, resource allocation, communication, and control. Discusses best practice and why projects succeed or fail.
Catalog entry
9th Semester
Part of the GUC Master of Computer Science programme.
- CSEN 901 Introduction to Artificial Intelligence
Study of how to program computers to behave in ways usually attributed to intelligence. Search algorithms, knowledge-based AI systems, logic and reasoning (resolution), planning, learning, and plan execution — motivated via an agent-oriented approach.
- CSEN 903 Advanced Computer Lab — Unity3D
Cross-platform 3D application development in Unity3D: lighting, graphics, physics engine, scripting, and manipulating 3D environments. Texturing materials and animating generic/humanoid 3D models.
- CSEN 906 Constraint Programming Elective
Programming paradigm based on constraints over Booleans, reals, or finite domains. Models problems with uncertain/incomplete information and solves combinatorial problems (scheduling, planning, allocation, layout). Emphasis on practical use for combinatorial optimization.
- CSEN 1022 Machine Learning Elective
Wide range of machine learning algorithms across supervised, unsupervised, and reinforcement learning paradigms. No prior ML required; probability theory and linear algebra background recommended.
- CSEN 1097 Rule-based Programming Elective
Overview of rule-based formalisms (production rules, transformation rules) from theoretical and practical angles. Rule-based systems for machine learning and big data. Multiple formalisms implemented and transformed to a unified one.
7th Semester
- CSEN 701 Embedded Systems
Fundamentals of embedded systems hardware and software design. ARM processor architecture and ISA, assembly programming of ARM-based devices, and writing efficient C for ARM targets.
Catalog entry - CSEN 702 Microprocessors
Broader view of processor architectures including memory and I/O subsystems. Queuing-theory analytical methods for multiprocessor and shared-memory systems; area, time, and power consumption tradeoffs.
Catalog entry - CSEN 703 Analysis and Design of Algorithms
Design and analysis of algorithms: rates of growth, recurrences, divide and conquer, Master Theorem, dynamic programming, greedy algorithms, graph algorithms, string matching, and NP-completeness.
- CSEN 704 Advanced Computer Lab — Android
Taken during study abroad; content introduced Android from the basics up to a mid/upper level of command.
- DMET 701 Computer Graphics
Fundamental graphics algorithms: 2D/3D primitives, solid modeling, 2D/3D transformations, curves and surfaces, projection, hidden surface removal, mapping techniques, color, lighting, and shading.
Catalog entry
6th Semester
- CSEN 601 Computer System Architecture
Concepts of computer architecture: performance measurement, instruction sets, pipelines, instruction-level parallelism, memory hierarchy, and multithreaded/multiprocessor systems.
Catalog entry - CSEN 602 Operating Systems
Fundamentals of operating systems: nature, history, function within a computer system, process scheduling, synchronization, deadlocks, memory management, file systems, and I/O.
Catalog entry - CSEN 603 Software Engineering
Major phases of the software lifecycle: analysis, specification, design, implementation, and testing. Team-based software project spanning requirements, architecture, procedural maturity, and ethics.
Catalog entry - CSEN 604 Databases II
Advanced database internals. Indexing (single, multilevel, B-trees, hashing), query optimization (heuristic, cost-based), transactions and concurrency control, recovery techniques, XML, and web services.
Catalog entry - HUMA 601 Introduction to Management
Basic concepts and analytical tools of management: global business environment, production, logistics, operations, investments, export orientation, innovation and technology management, budgeting.
5th Semester
- CSEN 501 Databases I
Theory and skills of database systems. High-level conceptual design with ER/EER, relational model, ER-to-relational mapping, basic SQL. Semester-long project implementing a small application on an RDBMS.
Catalog entry - CSEN 502 Theory of Computation
Formal languages and automata, computability theory, and introduction to complexity. Classifies problems by hardness and investigates mathematical models of computation.
Catalog entry - CSEN 605 Digital System Design
Analysis and design of advanced combinational and sequential circuits. Hardware Description Languages, Verilog HDL modeling, FPGA design flow, pipelining, and fast adders.
Catalog entry - DMET 501 Introduction to Media Engineering
Multimedia systems in three parts: presentation and authoring (image, graphics, video, animation, audio); data compression algorithms; and communication, retrieval, and quality-of-service.
Catalog entry - MATH 501 Mathematics V (Discrete Math)
Propositional and predicate logic, formal proof methods, sets and relations, graphs and trees, and algorithms (Dijkstra, Prim). Validation of programs and major applications in computer science.
Catalog entry
4th Semester
- CSEN 401 Computer Programming Lab
Team-based object-oriented software development in Java: inheritance, polymorphism, interfaces, encapsulation. Plan and implement a network-enabled application with a GUI.
Catalog entry - CSEN 402 Computer Organization and System Programming
Components of a computer system and their interaction. How software runs on a processor and how to write efficient assembly-language programs.
Catalog entry - CSEN 403 Concepts of Programming Languages
Several programming paradigms — Logic (Prolog), Functional (Haskell), Procedural (C), Object-Oriented (Java). Covers naming, parameter passing, typing, polymorphism, memory management, and exceptions.
Catalog entry - COMM 401 Signal and System Theory
Signals and systems, linear time-invariant systems, Fourier series, continuous-time and discrete-time Fourier transforms, sampling and reconstruction, communication systems.
- ELCT 401 Electric Circuits II
Op-amps, sinusoidal steady-state (AC) analysis, power calculations in AC circuits, balanced three-phase circuits, frequency-selective circuits, and Laplace transform analysis.
- HUMA 402 Research Paper Writing
Principles of scientific research: locating sources, critiquing studies, conducting a literature review, and synthesizing findings into a well-structured paper.
- MATH 401 Mathematics IV (Probability and Statistics)
Descriptive and inferential statistics, probability theory, discrete/continuous random variables, standard distributions, Central Limit Theorem, estimation, hypothesis testing, regression, and quality control.
Catalog entry
3rd Semester
- CSEN 301 Data Structures and Algorithms
Classical data structures and algorithms in Java: complexity analysis, sorting and searching, linked lists, stacks, queues, trees, hash tables, graphs, and graph algorithms.
Catalog entry - EDPT 301 Engineering Drawing and Projection
Graphic language of engineering: lines and marks used to represent imagination or reality; tools spanning the engineering design process from first concept through development and evaluation.
- ELCT 301 Electric Circuits I
Foundation of electrical engineering: building and analyzing electric circuits in steady-state and transient regimes using Kirchhoff laws and various analysis methods.
- HUMA 302 Communication & Presentation Skills
Oral communication for college and career: presentation skills, team-work in problem solving, leading and participating in group discussions, working across cultures.
- MATH 301 Mathematics III (Vector Calculus & PDEs)
Vector calculus (gradient, divergence, curl), integral theorems (Green's, Stokes', Gauss'), integral transforms, Fourier series, and partial differential equations with initial/boundary-value solutions.
- PHYS 301 Physics III
Thermodynamics (laws, kinetic gas theory, heat engines), waves (wave equation, sound, Doppler, interference), and optics (geometrical, imaging, interference, diffraction, polarization), with a lab component.
Catalog entry - ELCT 201 Digital Logic Design
Basic components of digital systems and gate-level digital hardware design. Binary numerical systems, Boolean algebra, logic gates, combinational and sequential circuit analysis and design.
2nd Semester
- CSEN 202 Introduction to Computer Programming
Basics of computer programming in an object-oriented framework using Java. Fundamental data types, decisions/iterations, methods/recursion, classes/objects, and arrays.
Catalog entry - EDPT 201 Production Technology
Methods and procedures for the production of goods: manual material removal, machining, forming, welding, casting. Workshop experience plus product-management context.
- HUMA 202 Critical Thinking & Scientific Methodology
Analyzing information through scientific thinking: problem solving, observation, analysis, inference, interpretation, argumentation in reading/oral/written expression, plus questionnaire design and reporting.
- MATH 203 Mathematics II (Series & Linear Algebra)
Infinite sequences and series, Taylor and Maclaurin expansions, first/second-order ODEs; vectors, matrices, linear systems, eigenvalues and eigenvectors, structure of linear vector spaces, linear difference/differential equations.
- PHYS 202 Physics II (Electricity & Magnetism)
Electric charges, forces and fields, Gauss' law, potential, capacitors, current, resistance; magnetic fields and sources, Faraday/Lenz laws, inductors, motors/generators, DC and AC circuits.
1st Semester
- CSEN 102 Introduction to Computer Science
Fundamentals of formal computer science: algorithm discovery and design, efficiency, data representation, Boolean logic and circuits, computer organization and assembly.
Catalog entry - MATH 103 Mathematics I (Calculus)
Pre-calculus foundations (real numbers, trigonometry, complex numbers, functions), continuity, limits, differentiation rules and applications, integration techniques, and applications on curves and surfaces.
- PHYS 102 Physics I (Mechanics)
Calculus-based Newtonian mechanics: vector algebra, kinematics, forces, Newton's laws, energy, momentum, collisions, rotational dynamics, gravitation, elasticity, fluid mechanics, oscillatory motion.
- CHEM 101 Chemistry I
Modern atomic models, chemical bonding, periodic table, stoichiometry of chemical reactions, electrochemistry, and chemical kinetics.
- HUMA 103 Academic Study Skills
Structured approach to academic reading and writing: viewing topics from multiple perspectives, organizing and structuring ideas, and sharpening critical reading and academic writing.