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: 4
Prerequisites:
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.

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: 4
Prerequisites: PHYS 101 or CoI
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 132 – Advanced Programming
Credits: 3
Prerequisites: COMP 100 or COMP 131 or COMP 130 or CoI
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.

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.

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.

COMP 202 – Data Structures and Algorithms
Credits: 3
Prerequisites: COMP 106 and (COMP 131 or COMP 130) or CoI
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.

ELEC 204 – Digital Design
Credits: 4
Prerequisites:
Computer technology, digital hardware, boolean algebra, logic functions and gates, canonical forms, simplification of boolean functions, Karnaugh maps, number systems, conversions, complement arithmetic, adders, multiplexers, tri-state outputs, decoders, encoders, sequential logic, flip-flops, sequential circuit analysis, sequential circuit design, registers and counters, memory and programmable logic, central processing unit. A design project.

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 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.

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 or CoI
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 or CoI
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.

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: 3
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.

SCEN Group (At least 1 of the below courses)

CHEM  100 – GENERAL CHEMISTRY FOR HEALTH SCIENCES
Units: 3.00
Basic concepts and important topics in chemistry that are needed to establish a strong foundation in health sciences will be covered. Topics to be covered include: Matter, methods and measurements, chemical reactions, stoichiometry, chemical compounds; atomic structure, atomic spectroscopy and periodic properties; chemical bonding; gases, liquids, solids and solutions; acid-base equilibrium, buffer solutions; oxidation-reduction reactions; chemical kinetics; electrochemistry; nuclear chemistry.

CHEM  103 – GENERAL CHEMISTRY
Units: 3.00
Atomic and molecular structure, spectroscopy, stoichiometry, chemical thermodynamics, electrochemistry, structure and properties of materials.

MBGE  309 – 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  304 – NUMERICAL METHODS
Units: 3.00
Prerequisite:  MATH. 107 or consent of the instructor
Solutions of nonlinear systems and unconstrained optimization problems; direct methods for linear systems; eigenvalue problems; polynomial interpolation; least squares problem; numerical differentiation and integration; methods for the initial value problem; Fourier transform.

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.