tab 2

tab 2


Discrete Mathematics (Discrete Structures)

Credit Hours: 3.0

Lecture Contact Hours: 3     Lab Contact Hours: 0

Prerequisite:

 

Description:

-Introduction: mathematical logic, algebra of expressions, well-structured formula, a review

of theory of sets, proof methods.

-Relations and functions: binary relations, compatibility and equivalence relations, relations

representation matrix, graphs of relations, functions, coverage functions, one to one functions.

-Recursive functions, deduction, generator functions.

-Algebraic structures: semi-groups and monoids, grammars and languages, Polish marking, groups, homomorphism, isomorphism, lattices, Boolean Algebra, Carnot table, grammar and language, grammar as an example of monoids

-Combinatorial analysis, nest principles, introduction to combinatorial algorithm, regressive and        reciprocal functions and applications.

-Graph theory: directional graphs, unidirectional graphs, Eulerian and Hamiltonian paths,  optimal paths, finding algorithm for optimal paths, connected graphs, matrix of relation and related theorems, application of graphs in activity analysis.

-Trees: minimal overlapping trees, surveying of trees, application of trees, algebraic expressions and representation of their trees.

 

Suggested Textbooks:

  1. K. H. Rosen. Discrete Mathematics and Its Applications. 8th Edition, McGraw Hill, 2018.

  2. R. P. Grimaldi. Discrete and Combinatorial Mathematics: An Applied Introduction. 5th Edition, Pearson Addison Wesley, 2004.

  3. A. Engel. Problem-Solving Strategies. Springer, 1998.

Advanced Programming

Credit Hours: 3.0

Lecture Contact Hours: 3     Lab Contact Hours: 0

Prerequisite: Fundamentals of Computer Programming

 

Suggested Textbooks:

  1. P. Deitel, H. Deitel. Java: How to Program. 11th Edition, Pearson Education, 2017.

  2. B. Eckel. Thinking in Java. 4th Edition, Prentice Hall, 2006.

  3. M. Fowler, K. Beck, J. Brant, W. Opdyke, D. Roberts. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999.

Data Structures 

Credit Hours: 3.0

Lecture Contact Hours: 3     Lab Contact Hours: 0

Prerequisite: Advanced Programming, Engineering Mathematics

 

Description:

Introduction to various data structures (stacks, queues, lists, hash tables, trees, heaps, and graphs); sorting and searching; design, analysis, and comparison of algorithms.

 

Suggested Textbooks:

  1. T. Cormen, C. Leiserson, R. Riverst, and C. Stein. Introduction to Algorithms. 3rd Edition, MIT Press, 2011.

Digital Circuits (Logic Design)

Credit Hours: 3.0

Lecture Contact Hours: 3     Lab Contact Hours: 0

Prerequisite: Data Structures

 

Description:

Number representation system and coding, representation of negative numbers, key logic, negative test and triple state logic, overall structure of logical gates and its types, logic functions and simplification of them including: Carnot's methods and scheduling and tabulation method, computerized procedures for simplification of combination functions, decoding and coding circuits design, code converters, subtractions, summation, selectors, and comparators, collectors and destructors, logical and computational units, use of decoders, selectors and other packages for drawing combinatorial circuits, PAL, PLA & ROM, and other regular structures, leach and flip-flaps structures, synchronous circuits, comparison between state circuits under Moore & Mealy, numerators, shift registers, asynchronous circuits, study of hazards and race, allotting state without race, common chips in, sequential circuits, and designing or study of one type of machines or control and data section, modern designing methods. 

 

Suggested Textbooks:

  1. M. Morris Mano. Digital Design. 5th Edition, Prentice Hall, 2006.

  2. Victor P. Nelson, H. Troy Nagle, Bill D. Carroll, David Irwin. Digital Logic Circuit Analysis and Design. Prentice Hall, 1995.

  3. Franklin P. Prosser and David E. Winkel. The Art of Digital Design: An Introduction to Top-Down Design. Prentice Hall, 1987.

 

Theory of Computation

Credit Hours: 3.0

Lecture Contact Hours: 3     Lab Contact Hours: 0

Prerequisite: Data Structures

 

Description:

Finite automata, Pushdown automata, touring machine, different types of grammars and languages, Chomsky classification, relation between languages and machines and the relevant theorems.

 

Suggested Textbooks:

  1. M‎. Sipser. Introduction to the Theory of Computation‎. ‎3rd Edition‎, ‎Cengage Learning‎, 2013‎.

  2. P. Linz. An introduction to formal languages and automata. 3rd Edition, Jones and Bartlett Publishers‎, ‎‎2001‎.

  3. ‎‎J. E.‎ Hopcroft‎, R‎. ‎Motwani‎, and ‎‎‎J. D‎. Ullman. Introduction to automata theory‎, ‎languages‎, ‎and computation. 2nd Edition‎, ‎Addison-Wesley‎, ‎2001‎.

  4. ‎J. P.‎ Denning‎, ‎‎J. B‎. Dennis, and J. E. Qualitz‎. ‎Machines‎, ‎languages‎, ‎and computation‎. ‎Prentice-Hall‎, ‎1978‎.

  5. ‎‎‎J. E‎. Hopcroft‎ and ‎J. D. Ullman‎. ‎Introduction to automata theory‎, ‎languages‎, ‎and computation. Addison-Wesley‎, ‎1979‎.

  6. ‎‎P. J‎. Cameron‎. Sets‎, ‎Logics and Categories. Springer‎, ‎1998‎.

English for Computer Engineers(English for Computing)

Credit Hours: 2.0

Lecture Contact Hours: 2     Lab Contact Hours: 0

Prerequisite: General English

 

Description:

This subject aims at raising students' specific language ability in reading and writing academic texts of their own major disciplines. The subject will use reading texts from chapters of books or journal articles recommended by teachers of different majors for reading comprehension. These texts will also be used for analysis to enable students to develop an awareness of the genre in that particular discipline.

 

Suggested Textbooks:

  1. S. R. Esteras and E. M. Fabré. Professional English in Use-ICT. Cambridge University Press, 2007. (Main Textbook)

  2. E. Glendinning and J. McEwan. Oxford English for IT. Oxford University Press, 2006.

Technical Writing and Presentation (Scientific and Technical Presentation)

Credit Hours: 2.0

Lecture Contact Hours: 2     Lab Contact Hours: 0

Prerequisite: English for Computer Engineers(English for Computing)

 

Description:

Different types of scientific and technical subjects (letters, reports, pamphlets, manual and etc.), common points in all scientific and technical writings: specifying the objective of writing and its eventual readers, organizing the subjects, abstract of essay together with report, the role of a good introduction, dividing the subjects into parts and chapters, discussion and conclusion, preparing source and reference index, attachments, preparing the pictures and diagrams and tables. Important points in translation of scientific and technical subjects, writing style, marking and its importance, preparing final format of writing by typing machine or computer, foot-article, notes and other lateral subjects, an introduction to research methods, presenting subjects orally, effective use of audio-visual devices, the rules and process of drawing up graduation diploma including the main parts of thesis and details of each part, preparing and presenting a scientific essay (as assignment).

 

Suggested Textbooks:

  1. Barbara Gastel and Robert A. Day. How to Write and Publish a Scientific Paper. 8th Edition, Cambridge University Press, 2016.

  2. Michael Alley. The Craft of Scientific Presentations Critical Steps to Succeed and Critical Errors to Avoid. 2nd Edition, Springer, 2013.

Engineering Mathematics

Credit Hours: 3.0

Lecture Contact Hours: 3     Lab Contact Hours: 0

Prerequisite: Calculus 2, Differential Equations

 

Description:

Fourier series and its integral and Fourier transform: definition of Fourier series, Euler's formula, expansion in half range, rebound oscillations, Fourier integral.

Partial derivatives equations: vibratory string, univariate wave equation, method of decomposition of variables, D'Alembert solution of the wave equations, heat propagation equation, univariate wave equation, equation in Cartesian, spherical and polar coordinates, elliptical, parabolic and hyperbolic equations, application of Laplace transformations in solving equations with partial derivatives, solution of partial derivatives using Fourier integrals.

Analytical functions and conformal mapping and complex integrals: limit and continuity, derivative of complex functions, exponential, trigonometric hyperbolic and logarithmic functions, inverse trigonometric and exponential functions with different power, conformal preposition-mapping.

Integral of line on complex plane, Cauchy's integral theorem, calculation of line integral using indefinite integral, Cauchy' formula, Taylor and Mac-Lauren' expansions, integration using residual methods, residuals theorems, calculation of certain real integrals.

 

Suggested Textbooks:

Computer Architecture

Credit Hours: 3.0

Lecture Contact Hours: 3     Lab Contact Hours: 0

Prerequisite: Digital Circuits(Logic Design)

 

Description:

Logic design, principles of operation of digital computers, and analysis of major components: arithmetic processing, memory, control and input/output units, instruction pipelining, SIMD and multiprocessor systems.

 

Suggested Textbooks:

  1. D. A. Patterson and J. L. Hennessey. Computer organization and design. 3rd Edition, Elsevier (Morgan Kaufmann), 2005.

  2. M. Mano. Computer system architecture. 3rd Edition, Prentice Hall, 1992.

Algorithm Design

Credit Hours: 3.0

Lecture Contact Hours: 3     Lab Contact Hours: 0

Prerequisite: Data Structures

 

Description:

Algorithm analysis and design, heuristics; advanced tree structures; advanced hashing techniques; sorting and searching; graphs, sets. NP-Completeness, Time and Space complexities.

 

Suggested Textbooks:

  1. J. Kleinberg and E. Tardos. Algorithm Design. Addison Wesley, 2005.

  2. T. Cormen, C. Leiserson, R. Riverst, and C. Stein. Introduction to Algorithms. 3rd Edition, MIT Press, 2009.

  3. U. Manber. Introduction to Algorithms: A Creative Approach. Addison-Wesley, 1989.

  4. G. Brassard, P. Bratley. Algorithmics: Theory and Practice. Prentice-Hall, 1988.

Computer Aided Design

Credit Hours: 3.0

Lecture Contact Hours: 3     Lab Contact Hours: 0

Prerequisite: Computer Architecture

 

Description:

Applications of hardware description languages (HDLs) for the design of complex digital systems. Topics include designing and simulating using HDLs, logic synthesis into FPGAs and ASICs, optimization techniques, timing issues, hardware verification, and design for testability.




 

Suggested Textbooks:

  1. Samir Palnitkar. Verilog HDL: A Guide to Digital Design and Synthesis. 2nd Edition, SunSoft Press, 2003.

  2. S. Brown, J. Rose. FPGA and CPLD Architectures: A Tutorial. IEEE Design and Test of Computers, pp. 42-57, 1996.

  3. Altera Data Sheets. available at www.altera.com.

  4. Xilinx Data Sheets. available at www.xilinx.com.

  5. Actel Data Sheets. available at www.actel.com.