Required Area Courses

COMP 100 – INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING
Credits: 3
Prerequisites:
Overview of computers, Programming, algorithms, and programming languages. Programming with Python: Data types, variables, operators. Control statements: conditionals, loops, iteration. String manipulation. Functions, recursion, decomposition and abstraction. Tuples, lists, dictionaries. Aliasing, mutability, cloning. Functional programming, lambda expressions. Files. Object oriented programming, classes, inheritance. Testing, debugging, exception handling, program efficiency.

COMP 106 – DISCRETE MATHEMATICS FOR COMPUTER SCIENCE AND ENGINEERING
Credits: 3
Prerequisites:
An introductory course covering: Logic, formal reasoning, propositional logic, sets, growth of functions, algorithmic complexity, number theory, mathematical induction, combinatorics, recurrence, generating functions, relations, graphs, and models of computation.

MATH 106 – CALCULUS I
Credits: 3
Prerequisites:
Limits and continuity; derivative and properties of differentiable functions; mean value theorems, Taylor’s formula, extreme values; indefinite integral and integral rules; Riemann integral and fundamental theorem of calculus; L’Hospital’s rule; improper integrals.

PHYS 101 – GENERAL PHYSICS I
Credits: 3
Co requsite: Must be taken with PHYS 101L
Physical quantities; rectilinear motion; motion in two and three dimensions; Newton’s laws of motion; work and energy; momentum; conservation laws; collisions; rotational dynamics; gravitation; periodic motion; fluid motion.

PHYS 101L – GENERAL PHYSICS I Lab
Credits: 1
Co-requsite: Must be taken with PHYS 101
General physics laboratory course to accompany PHYS 101. Experiments in mechanics.

COMP 132 – ADVANCED PROGRAMMING
Credits: 3
Prerequisites: COMP 100
Advanced programming techniques and large scale programming. Inheritance and Type Hierarchies. Polymorphism. Object-oriented Programming. Code reuse. Graphical User Interfaces. Advanced class and template libraries. Introduction to low-level languages. Pointers and references. Resource management: Dynamic storage allocation, memory management. Virtual functions.

MATH 107 – INTRODUCTION TO LINEAR ALGEBRA
Credits: 3
Prerequisites:
Vectors; Vectors; matrices and systems of linear equations; vector spaces; linear maps; orthogonality; algebra of complex numbers; eigenvalue problems.

MATH 203 – MULTIVARIABLE CALCULUS
Credits: 3
Prerequisites: MATH 106 or CoI
Functions of several variables; partial differentiation; directional derivatives; exact differentials; multiple integrals and their applications; vector analysis; line and surface integrals; Green’s, Divergence and Stoke’s theorems.

PHYS 102 – GENERAL PHYSICS II
Credits: 3
Prerequisites: PHYS. 101 or consent of the instructor and must be taken with PHYS 102L
Electric charge and electric field; Gauss’s law; electric potential; dielectrics; electric circuits; magnetic field and magnetic forces; sources of magnetic field; electromagnetic induction; electromagnetic waves.

PHYS 102L – GENERAL PHYSICS Lab II
Credits: 1
Co-requisite: Must be taken with PHYS 102
Electric charge and electric field; Gauss’s law; electric potential; dielectrics; electric circuits; magnetic field and magnetic forces; sources of magnetic field; electromagnetic induction; electromagnetic waves.

COMP 201 – COMPUTER SYSTEMS & PROGRAMMING
Credits: 3
Prerequisites: COMP 132
This course gives a solid understanding of the principles and abstractions used in computer systems and machine programs using C. Towards this aim, it covers a broad range of topics, providing students with an in-depth perspective and programming experience regarding the basic topics of C language and how programs are formed and executed at the microprocessor-level. Topics covered include: Bits operations, Integer Representations, Integer arithmetic, Floating point. Strings, Pointers and Arrays. Functions, Stack and Heap. Structures. Machine level representation of programs. Memory hierarchy, caches, disks, locality. Code Optimization, debugging and profiling. Dynamic memory allocation. Static linking, object files, symbols and symbol tables. Dynamic linking with shared libraries.

MATH 204 – DIFFERENTIAL EQUATIONS
Credits: 3
Prerequisites: MATH 107 or CoI
First order differential equations. Second order linear equations. Series solutions of ODE’s. The Laplace transform and applications. Systems of first order linear equations. Nonlinear equations and systems:existence, uniqueness and stability of solutions. Fourier series and partial differential equations.

COMP 202 – DATA STRUCTURES AND ALGORITHMS
Credits: 3
Prerequisites: (COMP 106 or INDR 201 or (MATH 103 and MATH 104)) and COMP 132
Basic data structures, algorithms, and their computational complexity. List, stack, queue, priority queue, map, tree, balanced tree, hash table, heap, skip list, trie, graph. Basic search, selection, sorting, and graph algorithms. Recursion.

COMP 291 – SUMMER PRACTICE I
Credits: 0
Prerequisites: ACWR 101
A minimum of 20 working days of training in an industrial summer practice program after the completion of second year. The training is based on the contents of the “Summer Practice Guide Booklet” prepared by each engineering department. Students receive practical knowledge and hands-on experience in an industrial setting.

ELEC 205 – DIGITAL SYSTEM DESIGN
Credits: 3
Prerequisites: –
Computer technology, digital hardware, Boolean algebra, logic functions and gates, canonical forms, simplification of Boolean functions, Karnaugh maps, number systems, complement arithmetic, combinational logic, adders, multiplexers, decoders, encoders, tri-state outputs, sequential logic, flip-flops, sequential circuit analysis, sequential circuit design, registers and counters, algorithmic state machines, programmable logic, central processing unit, design and simulation assignments.

ENGR 200 – PROBABILITY AND RANDOM VARIABLES FOR ENGINEERS
Credits: 3
Prerequisites:
Introduction to probability, sets, conditional probability, total probability theorem and Bayes rule; Independence, counting; Discrete random variables, functions of random variables, expectation, mean and variance; Continuous random variables, probability density functions, and cumulative distribution functions; Multiple random variables; Sums of random variables; Limit theorems; Covariance and correlation; Introduction to Stochastic Processes.

MBGE 200 – INTRODUCTION TO BIOLOGY
Credits: 3
Prerequisites:
Principles of biochemistry; molecular and cell biology. General introduction to cell structure and function. Genetics, bioenergetics, anatomy and physiology; introduction to biotechnology.

COMP 301 – PROGRAMMING LANGUAGE CONCEPTS
Credits: 3
Prerequisites: COMP 201 or COMP 200
Programming languages (i.e. C++, Java, Ada, Lisp, ML, Prolog), concepts and paradigms. Syntax, semantics. Abstraction, encapsulation, type systems, binding, run-time storage, sequencers, concurrency, control. Providing examples from functional, object-oriented and logic programming paradigms.

COMP 302 – SOFTWARE ENGINEERING
Credits: 3
Prerequisites: (COMP 132 and COMP 202) or CoI
Review of methods and tools used in software development. Object oriented design and open software architectures. Requirements analysis, design, implementation, testing, maintenance and management. Engineering applications.

COMP 304 – OPERATING SYSTEMS
Credits: 3
Prerequisites: COMP 201
Introduction to operating systems concepts, process management, memory management, virtual memory, input-output and device management, file systems, job scheduling, threads, process synchronization, deadlocks, interrupt structures, case studies of operating systems.

COMP 305 – ALGORITHMS AND COMPLEXITY
Credits: 3
Prerequisites: COMP 202 and ENGR 200
Advanced topics in algorithms, and their computational complexity. Amortized complexity analysis. Randomized algorithms. Greedy algorithms. Dynamic programming. Linear programming. Advanced graph algorithms. Turing machines and models of computation. NP-completeness reductions.

ELEC 305 – DIGITAL SYSTEM DESIGN LABORATORY
Credits: 3
Prerequisites: ELEC 205
Hardware description languages, digital logic synthesis, combinational logic, arithmetic logic, sequential logic, memory and control units, computer organization. Field Programmable Gate Arrays (FPGA). Laboratory work, design project.

COMP 391 – SUMMER PRACTICE II
Credits: 0
Prerequisites: COMP 291 and ACWR 106-102-103-104-105-107
A minimum of 20 working days of training in an industrial summer practice program after the completion of third year. The training is based on the contents of the “Summer Practice Guide Booklet” prepared by each engineering department. Students receive practical knowledge and hands-on experience in an industrial setting.

COMP 491 – COMPUTER ENGINEERING DESIGN
Credits: 4
Prerequisites: (COMP 202 and COMP 302) or CoI
A capstone design course where students apply engineering and science knowledge in a computer engineering design project. Development, design, implementation and management of a project in teams under realistic constraints and conditions. Emphasis on communication, teamwork and presentation skills.

ENGR 493 – MULTIDISCIPLINARY TEAMWORK EXPERIENCE
Credits: 0
Prerequisites: –
On reporting the multidisciplinary teamwork experience in the scope of common core, area elective, summer practice, and engineering design courses. The main emphasis is on the effective multidisciplinary teamwork experience, as well as on engaging in life-long learning and having a knowledge of contemporary issues.

SCEN Group (At least 1 of the below courses)

CHEM  104 – CHEMISTRY FOR ENGINEERING
Units: 3.00
Basics of general chemistry and introduction to quantum mechanics including chemical bonding, molecular structure, states of matter and phase transitions, intermolecular interaction, chemical equilibrium, thermodynamics / thermochemistry, acid-base equilibria, materials chemistry and spectroscopy.

MBGE  411 – GENOME ANALYSIS & BIOINFORMATICS
Units: 3.00
Prerequisite: MBGE 101 or MBGE 200 or CHBI 300
Comprehensive introduction to the field of genomics and bioinformatic tools necessary for analyzing and interpreting genomic data. Collection and storage of sequence information. Investigation of complex biological processes using genomic data at various levels (DNA, mRNA and protein). Next generation sequencing technologies and sequence data formats, assembly and mapping of raw sequence data, gene prediction and annotation, transcriptomics, functional genomics, genome evolution, genome-wide profiling, phylogenomics and population genomics.

MATH  103 – INTRODUCTION TO ABSTRACT MATHEMATICS
Units: 3.00
Sets; logic and implications; proof techniques with examples; mathematical induction and well-ordering; equivalence relations; functions; cardinality; countable and uncountable sets.

MATH  303 – APPLIED MATHEMATICS
Units: 3.00
Prerequisite:  MATH. 204 or consent of the instructor
Review of vector calculus; Fourier series and Fourier transform; Calculus of functions of a complex variable.

MATH  305 – NUMERICAL ANALYSIS
Units: 3.00
Prerequisite:  MATH. 107 or consent of the instructor
Fixed point iteration and Newton’s method for nonlinear equations, direct solution of linear systems and the least squares problem, symmetric positive definite and banded matrices, systems of nonlinear equations, the QR algorithm for the symmetric eigenvalue problem, Lagrange and Hermite polynomial interpolation, polynomial approximation in the infinity norm and the Chebyshev polynomials, approximation in the 2 norm and the orthogonal polynomials, numerical differentiation, Newton-Cotes and Gaussian quadratures for numerical integration.

MATH  320 – LINEAR ALGEBRA
Units: 3.00
Prerequisite:  MATH. 107 or consent of the instructor
Finite-dimensional real and complex vector spaces, bases of a vector space, linear maps, dual spaces, quadratic forms, self-adjoint and unitary transformations, eigenvalue problem, canonical form of a linear transformation, tensors, and applications.

MATH  401 – COMPLEX  ANALYSIS
Units: 3.00
Prerequisite:  MATH. 301 or consent of the instructor
Complex numbers and functions; exponential and trigonometric functions; infinite series and products; limits, continuity and derivatives of complex functions; Cauchy’s theorem; Taylor and Laurent series; conformal mapping.

MATH  404 – GRAPH THEORY
Units: 3.00
Fundamental concepts in graph theory; trees; matchings in graphs; connectivity and planarity; the colorings of graphs and diagraphs; Hamilton cycles; matroids.

MATH  407 – COMBINATORIAL ANALYSIS
Units: 3.00
Problems of enumeration, structure, and optimization in such finite or discrete systems as graphs, matroids, partially ordered sets, lattices, partitions, codes and block designs.

MATH  408 – GAME THEORY
Units: 3.00
Games in extensive form; pure and behavioral strategies; normal form, mixed strategies, equilibrium points; coalitions, characteristic-function form, imputations and solution concepts; related topics and applications.

PHYS  201 – MECHANICS
Units: 3.00
Prerequisite: (PHYS. 101 and MATH. 204) or consent of the instructor
Review of vectors and matrices, orthogonal transformations; numerical simulations and animations of mechanical systems, kinematics and dynamics of particles; Newton’s laws of motion; conservation laws; oscillations; central forces; orbits and scattering in a central force field; planetary motion; non-inertial reference frames; potential theory; the two-body problem.

PHYS  205 – GENERAL PHYSICS III
Units: 4.00
Prerequisite: PHYS. 101 or consent of the instructor
Periodic motion, fluid mechanics, mechanical waves, sound and hearing, temperature and heat, thermal properties of matter, the first law of thermodynamics, the second law of thermodynamics. Lab component.

PHYS  206 – GENERAL PHYSICS IV
Units: 4.00
Prerequisite: PHYS. 102 or consent of the instructor
The nature and propagation of light, geometric optics and optical instruments, interference, diffraction, relativity, photons electrons and atoms, the wave nature of particles, quantum mechanics, atomic structure, molecules and condensed matter, nuclear physics, particle physics and cosmology. Lab component.

PHYS  403 – SOLID STATE PHYSICS
Units: 4.00
Prerequisite: PHYS. 102 or consent of the instructor
Elementary crystal structure; the reciprocal lattice; lattice dynamics and phonons; thermal properties of materials; electron gas; Fermi-Dirac statistics and the Fermi surface; band theory, semiconductor physics and properties, semiconductor devices.