San Francisco, CA O-1A Work Authorization (Extraordinary Ability)
Back to Education

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.