**Course Code: **CSE 101

**Course Name:** Introduction to Computer Studies

**Prerequisite:** None

**Credit Hours:** 3.00

**Detailed Syllabus: **

**Introduction:** brief history and types of computers, application areas. Working principle of a computer system. Single and multi-user systems.

**
Hardware:** Organization and architecture, CPU, Motherboards & Microprocessors, Memory units: Primary memory, Secondary memory, Input & output (I/O) Devices, peripheral devices, AT/XT, ISA, FISA, PCI Bus Architecture.

**Software:** Classifications, System software, Operating system concepts, importance, components and basic functions of DOS, Windows and UNIX operating systems. Application software, database, spreadsheet and word-processing software.

**Applications:** Multimedia systems, computer networks: basic concepts on LAN, WAN rind

Internet systems, Internet services, E-mail and WWW.

Selection of computers, hardware, software and cost consideration.

Course Code: CSE 103 / CSE 103L

**Course Name:** Structured Programming

**Prerequisite:** **CSE 101**

**Credit Hours:** 3.00 + 1.00

** Detailed Syllabus:**

Introduction to Computer Programming, Problem solving techniques, algorithm specification and development. Programming style, debugging and testing, documentation. Program design methodologies, structured and modular program design.

Introducing computer language: Machine language, Assembly language, High-level language.

Programming Languages and Paradigms: Classification, assembler and translators, source and object programs. Structured language. Procedural and non-procedural programming, (nodular programming, object oriented programming.

Programming Language in C: Data types operators and conversions, Statements. Control structures, array of pointers, Structure, union and bit-field, External files.

Course Code: CSE 201 / CSE 202

**Course Name:** Object Oriented Programming

**Prerequisite:** **CSE 103**

**Credit Hours:** 3.00

**Detailed Syllabus: **

**Introduction to object oriented programming:** C++ as an object oriented language. Introduction to C+ + , Comparison of C and C+ + , Declaration and constants, expression and statements, data type:;, operator, Functions, Objects: Properties, events, methods, messages, data members, member functions, constructor & distracter functions, friend functions. Classes: Base, Derived and virtual class, inheritance, encapsulation. Operator and function, over-loading (Run time and compile time polymorphism) Template, streams, files, C-M- Library functions; Introduction to JAVA programming language.

Course Code:

CSE 203

**Course Name:** Computer Organization and Architecture

**Prerequisite:** **CSE 201**, **CSE 207**

**Credit Hours:** 3.00

**Detailed Syllabus: **

Study of architectural concepts in computer systems. Computer arithmetic and arithmetic logic unit design. Memories, memory hierarchies and dynamic address translation. CPU characteristics, performance factors. Control unit design: hardware and micro-program, microprogramming. Interrupt mechanism. DMA. Pipelining. The course includes lab works based on theory taught.

Course Code: CSE 204

**Course Name:** Operating Systems

**Prerequisite:** **CSE 103**, **CSE 201**

**Credit Hours:** 3.00

**Detailed Syllabus: **

**Introduction evolution goals and components of OS:** types of OS. Process management, process states and state transition, process control blocks, job and process scheduling, scheduling levels, objective and criteria. CPU scheduling algorithms, process coordination, critical section problems, semaphores, language constructs classical problems of process coordination. Interposes communication, message and mailbox etc..

**I/O programming:** Device management techniques. Interrupt processing. Parallel processing. Deadlock, deadlock prevention, avoidance detection and recovery. Memory management, memory avocation schemes, paging and segmentation , virtual memory, page replacement strategies, working sets, demand paging. Secondary storage management, disk-scheduling algorithms. File management: file system functions, Hie organization, logical and physical file maps, tree structured file systems, space allocation, file catalogs, file access control mechanism, operating systems security. Time-sharing and virtual machines. Main Features of Windows NT, UNIX, VMS and VSE.

**Systems programming concepts:** general machine structures, machine and assembly language, concepts of translation oriented system programs; Assemblers: design procedure of assembler; Table processing: searching and sorting; macro processors, preprocessors; Compilers: features of high level languages data types and data structures, storage allocation, functional modularity, programming language grammar; Loaders ft Linkers; Loaders: Loader scheme; Linkers. Design of linkage- editor.

Course Code: CSE 205

**Course Name:** Discrete Mathematics

**Prerequisite:** **MAT 101**

**Credit Hours:** 3.00

**Detailed Syllabus: **

Mathematical logic: propositional calculus, predicate calculus. Permutations, Combinations and Discrete Probability. Set theory: sets, relations, partial ordered sets, functions. Graph theory: graphs, paths, trees. Recurrence Relations and Recursive Algorithms. Algebraic structures: binary operations, semi groups, groups, permutation groups, rings and fields, lattices.

Course Code: CSE 207 / CSE 208

**Course Name:** Data Structures

**Prerequisite: ****CSE 103**, **CSE 201**

**Credit Hours:** 3.00

**Detailed Syllabus: **

**Data structures:** Concept of data types, abstract data types

**Arrays:** Maximization ordered lists, sparse matrix representation of arrays.

**Stacks, Queues and Recursion:** Fundamentals, Different types of Stack and Queues, Recursion: Direct and indirect recursion; simulation of recursion; depth of recursion; removal of recursion;

**Linked lists:** Different types of Linked list and their operations.

**Trees:** Basic terminology, binary trees, binary tree representation, binary tree traversal; Extended binary trees: 2-trees, internal and external path lengths, Huffman codes; algorithm; threaded binary trees, binary tree representation of trees; Application of Trees: Set representation, decision trees, game trees; counting binary trees.

**Graphs:** Introduction, definitions and terminology, graph representations, traversals, connected components and spanning trees, shortest path and transitive closure, activity networks, topological sort and critical path, enumerating nil path.

**Internal Sorting:** Searching, bubble sort, shell sort, insertion sort, selection sort, quick sort, heap sort, 2-way merge sort. How fast can we sort? Sorting on several keys, practical considerations for internal sorting.

**External Sorting:** General idea: Sorting with disks: K-way merging, buffer handling (or parallel operation, run generation, Sorting with Tapes: Balanced merge sorts, polyphase merge, sorting with fewer than 3 tapes.

Symbol Tables: Static tree tables, dynamic tree tables; Hash Tables: Hashing functions, overflow handling, theoretical evaluation of overflow techniques.

**Files:** File, queries and sequential organizations; Indexing Technique: Cylinder-surface indexing, hashed indexes, tree indexing- B- trees; Tree indexing.

Course Code: CSE 211

**Course Name:** Digital Logic Design

**Prerequisite:** None

**Credit Hours:** 3.00

**Detailed Syllabus: **

Review of Binary number system, Boolean algebra, Simplification of Boolean Functions, Logic gates, Combinational Logic, Arithmetic and Comparator Circuits, Encoders and Decoders, Multiplexers and Demultiplexers, Flip-Flops, Sequential Logic, Registers, Counters, Programmable Logic devices. The course includes lab works based on theory taught.

Course Code: CSE 303

Course Name: Database Management System

**Prerequisite:** **CSE 103**, **CSE 201**

**Credit Hours:** 3.00

**Detailed Syllabus:**

Overview: Definition of DMBS, types of DBMS, advantage & disadvantages, applications. Data

**Model:** ER Model, Relational Model Integrates Constraints. FD Constraints. Assertions, figures.

**Database Design:** Logical database design, physical database design; data storage device & data format.

**File organization:** Sequential file organization, Indexed file organization, direct file organization; hashing methods searching: sequential search, indexed search; reporting: Simple and complex report.

**Relational Database design:** Relational model, normalization, relational database design; relational query language: SQL. Query Processing, Query optimization, Database Administration: Functions: Standards, Security integrity, recovery; Concurrency control; coordination’s ; quality control: tuning and performance.

**Multiple file databases: **General considerations, designing the files, data entry and consistency data updating, tools for complex database manipulations. Object oriented database design.

Other types of DBMS: Network database, hierarchical database, text-oriented database, graphic-oriented database. Real time database intelligent database.

**Programming: **Common programming applications, important programming attributes: access to database records and fields; sorting searching, transactions among files, procedures and functions, reporting: Standard, complex, customized etc, structured aspects, variables and arrays; Handling database based on relations, network, hierarchical model; Programming projects: Create projects using menu builder, screen builder, form builder, report builder etc. Object oriented database programming.

Course Code: CSE 305 / CSE 306

**Course Name:** Algorithms

**Prerequisite:** **CSE 207**

**Credit Hours:** 3.00

**Detailed Syllabus: **

Algorithm and complexity, asymptotic notations, orders, designing worst case and average-case. Basic Technique divide and conquer, dynamic programming, backtracking, greedy method, branch and bound, randomization. Data structure search trees, Fibonaaci heaps, union-find problems. Application-string matching, sorting and scorching, combinatorial problems, optimization problems, computational geometric: problems. Graph algorithms, spanning trees, shortest paths, matching, rnin flow, max-flow. NP- completeness. Approximation algorithms.

Course Code:

CSE 307

**Course Name:** Microprocessor and Interfacing

**Prerequisite:** **CSE 211**, **ETE 202**

**Credit Hours:** 3.00

**Detailed Syllabus: **Introduction to different types of microprocessors, Architecture, Instruction Format, Instruction Sets, Opcode, Processor status and Flag registers, Addressing modes, Branching and Looping, Interrupt structures, I/O operation, I/O interfacing, DMA. Programming in Microcomputers. Hardware and Software interfacing in Microcomputer System Design, I/O design and total system design. Microprocessor based system design: Hardware design, building, debugging, testing and linking program modules. Programming EPROM. Multiprocessor configurations: coprocessor configurations, numeric data processor, I/O processors. Advanced Microprogramming: Bit-Slice Microprocessor, Parallelism in Microprocessor. The course includes lab works based on theory thought.

Course Code: CSE 309

**Course Name:** Data Communication and Computer Networks

**Prerequisite:** **CSE 201**, **CSE 207**

**Credit Hours:** 3.00

**Detailed Syllabus: **

Principles involved in data communication. Modulation techniques, Pulse Modulation, Pulse amplitude modulation, pulse width modulation, pulse position modulation, pulse code modulation, pulse position modulation, quantization, Delta modulation, TDM, FDM, OOK, FSK, PSK, QPSK. Representation of noises, probability of error for pulse system, concept of channel coding and capacity, asynchronous and synchronous communications. Multiplexers, concentrators and buffers, communication medium, fiber optics.

Computer network architectures, protocol layers. Transmission media, encoding systems, error detection, multiplexing, switching. Data link, multiple access channel protocols. Network security, privacy. Applications including network management, electronic mail, virtual terminals, URL, HTTP, Multimedia, distributed operating systems. The course includes lab works based on theory taught. The course includes lab works based on theory taught.

Course Code: CSE 311

**Course Name:** Automated Office Management

**Prerequisite:** CSE 103 , CSE 104

**Credit Hours:** 3.00

**Detailed Syllabus: **

Introduction to computer hardware: Processor, RAM, ROM, Motherboard, Hard Disk, DVDs; Assembling and interfacing.

Operating system (OS) installation: Windows 7.0, Linux; Software installation, Disk partitioning and formatting.

Operating system maintenance: OS protection, System restore, System crash repair, Local users and groups, Task manager, Registry, Security policies, etc.

Networking: Networking tools and topologies, TCP/IP, Implementation of a physical network, Introduction to wireless network, Network OS, Data sharing and security, Network printer installation and sharing, Mapping of network drive, Remote desktop, Net meeting.

Trouble shooting: Desktop, Laptop, Networks, Operating System, Printer and Fax.

Course Code: CSE 401

**Course Name:** System Analysis and Design

**Prerequisite:** **CSE 201**, **CSE 207**

**Credit Hours:** 3.00

Detailed Syllabus:

Introduction to information systems, general design consideration of information systems.

**Overview:** System concepts and the information systems environment, information needs, the concept of MIS, the 4-system development life cycle, the role of the systems analyst. Systems Analysis: System planning and the initial investigation, information gathering, the tools of structured analysis, feasibility study, cost/benefit analysis.

**System design: **The process and stage:; of systems design, input/output and forms design, file organization and data base design.

**
System Implementation:** System testing and quality assurance implementation and software maintenance, hardware/ software selection, project scheduling and software; Security, disaster/recovery, and ethics in system development.

**Caste studies of various information systems such as:** Library management system, inventory system, voter identity management system, payroll system, etc.

Course Code:

CSE 402

**Course Name:** Wireless and Mobile Computing

**Prerequisite:** CSE 412

**Credit Hours:** 3.00

**Detailed Syllabus: **

Basic concept of telecomm network and wireless programming, The J2ME architecture, CDLC and KVM, The connected and limited devices configuration, Mobile information device profile, MIDP Programming, Low level user interface API, Event handling, Record management system, Network management, Using push registry in J2ME, SMS programming, .Net framework for wireless programming, Bluetooth and IrDA Communication, Programming PDA

Course Code:

CSE 403

**Course Name:** E-Commerce

**Prerequisite:** NONE

**Credit Hours:** 3.00

**Detailed Syllabus: **

An introduction to e-commerce principles, theories, technologies and applications. This course gives an overview of the impact of new technologies on commercial paradigms and practices, legal issues and business ethics. The course also comprises an advanced managerial issues regarding the use of cutting-edge e-Business applications. It provides students with a deeper understanding of new technologies and recent theory in e-commerce and their implications for e-business thought and practice.

Course Code:

CSE 404

**Course Name:** Software Engineering

**Prerequisite: CSE 103, CSE 201, CSE 207**

Credit Hours: 3.00

Detailed Syllabus:

**Software development life cycles:** development process models, Risk based evolutionary approaches; problem analysis and requirements specifications DFD and data dictionary; Important specification languages; Function point analysis, for estimation of lines and codes;

**Software-cost evaluation:** Software-cost evaluation based on COCOMO models and Norden and Raleigh’s stochastic model for software cost estimation; Architectural design-modularization, structured design methodology and other process oriented design methodologies, data and object orient design methodologies;

**Software complexity metrics:** Code length based, control structure based and hybrid methods; testing theoretical foundation, black box and white-box approaches. Integration and system testing; case studies; computer Aided software engineering.

Course Code:

CSE 405

**Course Name:** Computer Graphics

**Prerequisite:** **CSE 305**

**Credit Hours:** 3.00

**Detailed Syllabus: **

Standard Graphics Primitives, Graphical User Interface; Graphics hardware: Display devices, Raster refresh graphics display, Use of frame buffer and look-up table; Coordinate convention. Device coordinate, Normalized device coordinate and World coordinate system; Raster Scan Graphics: Bresenham’s Line and Circle Generation, Algorithms. Character generation, Half toning, Antialiasing: Polygons: Different types of polygons, Point Location, Polygon filling, triangulation; Windowing and Clipping: Window, View point, zooming, panning, line, text and polygon clipping; Transformation matrices, Transformation in ?D, translation, rotation, scaling, shearing and reflection; Transformation in 3D: translation, rotation, scaling, shearing and reflection, projection: parallel and perspective, isometric projection; Segments with their applications. Three Dimensional Viewing and representation: Curves, surfaces and volumes with cubic and bicubic splines, B-Rep, CSG, Spatial Occupancy Representations; Hidden Lines and Surface removal; Painter; algorithm, Z-Buffering; Rendering: light Models, Shading Interpolation Technique Constant, Goraud and Phong, Ray Tracing. Computer ergonomics, Information structure, introduction to Graphics kernel system. Introduction to Graphics Programming. The nature of computer, dynamics, metamorphosis, displacement animation. An overview of multimedia system; Hypermedia: text, audio, video and graphics; Applications: Raster graphics software, Vector software, 3-Dimensional software, digital audio and video editing, Animation, Document processing, Multimedia information system. Information representation storage, retrieval and processing; Multi-user and distributed environment; Cooperative processes, Synchronization, Data Compression, Data Encryption Data Communication Intelligent Interaction.

Course Code:

CSE 406

**Course Name:** Embedded Systems Design

**Prerequisite:** **CSE 307**

**Credit Hours:** 3.00

**Detailed Syllabus: **

This course comprises a semester-long project experience geared towards the development of skills to design realistic and practical embedded systems and applications. Students will work in teams on an innovative project that will involve the hands-on design, configuration, engineering, implementation and testing of a prototype of an embedded system of their choice. Students will be expected to leverage proficiency and background gained from other courses, particularly with regard to embedded real-time principles and embedded programming. The project will utilize a synergistic mixture of skills in system architecture, modular system design, software engineering, subsystem integration, debugging and testing. From inception to demonstration of the prototype, the course will follow industrial project practices, such as version control, design requirements, design reviews and quality assurance plans. The lecture content will cover background material intended to complement the project work, and will also leverage lessons learned from case studies of industrial practices and incidents. The remainder of the course will consist of regular team presentations of key project milestones, current project status, a final project presentation and functional demonstrations of various subsystems, even as the entire prototype is being developed.

Course Code:

CSE 407

**Course Name:** Database Management System-II

**Prerequisite:** **CSE 303**

**Credit Hours:** 3.00

**Detailed Syllabus: **

Introduction to the principles of database management systems. Topics include database system architecture, data models, theory of database, query optimization, concurrency control, crash recovery, and storage strategies.

Course Code:

CSE 408

**Course Name:** Computer Modeling and Simulation

**Prerequisite:** **CSE 207**

**Credit Hours:** 3.00

**Detailed Syllabus: **

System Models- Entities, Attributes, States, Activities, Types of Models, Static & Dynamic Models, Deterministic & Stochastic Activities. Principles used in Modeling. System Simulation Continuous & Discrete event simulation Languages- GPSS, SIMULA, CSMP, DYNAMO. Probability concepts in Simulation- Random number, stochastic processes, Birth-Death process. Parameter estimation & input/output validation. Statistical Hypothesis Testing. Queuing Systems, M/M/I & M/M./m queues, Bulk arrival & Bulk service systems. Queuing networks. Computational algorithms & approximation techniques. Workload characterization & performance evaluation of computer systems. Evaluation of program performance. Case studies.

Course Code:

CSE 409

**Course Name:** Advanced Programming Languages

**Prerequisite: CSE 103,**

This course will cover functional and logic programming, concepts of programming language design, and formal reasoning about programs and programming languages. The topics included are: Functional Programming (ML/OCaml); Small-step and large-step operational semantics; Denotational semantics; Fixpoints, fixpoint induction; Axiomatic semantics; Type theory, Untyped and simply typed lambda calculus; Partial evaluation, non-determinism, Logic programming

Course Code:

CSE 410

**Course Name:** Artificial Intelligence

**Prerequisite:** **CSE 103**, **CSE 201**,, **CSE 207**

**Credit Hours:** 3.00

**Detailed Syllabus: **

Overview of Al, general concepts of knowledge, LISP and other Al programming languages.

**Knowledge representation:** Intelligent Agents: Agents that reason logically, Inference in First order Formalized symbolic logic, inconsistencies and uncertainties, probabilistic reasoning, structured knowledge, object oriented representation;

**Knowledge organization and manipulation:** search strategics and game planning, matching techniques, knowledge organization and management;

I**ntroduction to selected topics in A!:** Natural language processing, pattern recognition, computer vision, expert system, artificial neural networks, robotics..

**Knowledge Acquisition:** General concept, learning and automata, genetic algorithms, induction, analogical and explanation based learning.

Course Code:

CSE 411

**Course Name:** Compiler Design

**Prerequisite:** **CSE 103**, **CSE 201**,, **CSE 207**

**Credit Hours:** 3.00

**Detailed Syllabus: **

**Compilers, Lexical Analysis:** Lexical Analysis, regular expressions, regular languages, syntax Analysis: syntax analysis, context free grammars, bottom-up parsing, LR (0) parsing SLR parsing, (LR (I) parsing, LALR (I) parsing, classification of context-free grammars and languages, syntactic error recovery, syntax direct definitions attributes evaluation, Abstract syntax trees, symbol Tables, type checking semantic cheek for Inheritance: Sub-typing, and for Overloading. Generation of intermediate code: Generation of intermediate code- translation of Boolean expressions, switch/case statements, run-time structures, Back patching Generation of unoptimized target code.

**Introduction to code. optimization:** control flow graphs, live-variable analysis, allocation optimized register allocation by graph coloring Available expression analysis, Global common sub-expression elimination, nominators, Loops in control flow graphs, Def-use & use-def chains, Loop-invariant, code motion, partial redundancy elimination, constant propagation, optimizing Object-oriented programs, copy propagation, phase ordering of optimizations, Instruction scheduling, optimizations for memory hierarchies.

Course Code:

CSE 412 / CSE 413

**Course Name:** Programming with Java

**Prerequisite:** **CSE 103**, **CSE 201**,, **CSE 207**

**Credit Hours:** 3.00 + 1.00

**Detailed Syllabus: **

Basics of Java, Threads and Sockets, JDBC, Serialization and reflection, Client Server programming, RMI and distributed computing, CORBA, Beans, Enterprise Java beans, XML Programming with Java, Java Servlets. The course includes lab works based on theory taught.

Course Code:

CSE 413

**Course Name:** Routers and Routing Basics

**Prerequisite:** **CSE 309**

**Credit Hours:** 3.00

Detailed Syllabus:

WANs and Router; Introduction to Routers; Configuring a Routers; Learning about other Devices; Managing Cisco IOS software; Routing and Routing Protocols; Distance Vector Routing Protocols; TCP/IP Suite Error and control messages; Basic Router Troubleshooting; Intermediate TCP/IP; Access control lists (ACLs) ; Case Study: Routing Case Study

Course Code:

CSE 414

**Course Name:** Software Quality Assurance and Testing

**Prerequisite:** CSE 404

**Credit Hours:** 3.00

**Detailed Syllabus: **

This course will study some of the major areas related to software quality, including: Defining quality, Software quality assurance processes, Software quality standards, Software testing standards, SCRUM and Testing Frameworks, Unit Testing, Integration Testing, System Testing, CMMI, PSP, Extreme Programming.

Course Code:

CSE 415

**Course Name:** Visual Programming

**Prerequisite:** None

**Credit Hours:** 3.00

**Detailed Syllabus: **

There has been growing research interest in visual languages and visual programming. Its applications are diverse: visual user interface, visual specifications, visual reasoning, visual database systems and multimedia computing, to name but a few. This course will prepare the student to pursue research in these new and exciting fields of theory and application of visual languages.

The aim of the course is to give students basic information about the object-oriented programming concepts using C++ and MFC library, and to enable them to design and code visual programs using Visual Studio 2008.

** **

Course Code:

CSE 416

**Course Name:** NET Programming using C#

**Prerequisite:** None

**Credit Hours:** 3.00

**Detailed Syllabus: **

This course provides the student with the essentials necessary to design and develop robust and secure applications using C#, Windows forms, and the .NET framework. In addition to the essentials, the course also provides coverage of advanced topics, such as LINQ, ADO.NET, writing secure .NET applications, designing and developing multithreaded applications, and web services.

** **

Course Code:

CSE 417

**Course Name:** Automata and Theory of Computation

**Prerequisite:** **CSE 201**

**Credit Hours:** 3.00

**Detailed Syllabus: **Alphabet, string (finite and infinite) and languages. Finite representation of languages. Finite automation (deterministic, non-deterministic and Internating), regular expressions, left and right linear grammars and their equivalence’s- Minimal machine, simplification of regular expression. Finite state transducer. Properties of regular languages: closure properties, pumping theorem, ultimately periodic set. Algorithmic problems. Chomsky hierarchy of languages. Pushdown automaton (non-deterministic, deterministic and their non equivalence), context free grammars and their equivalence. Reduce grammars normal forms. CKY and Barley’s parsing algorithms. Ambiguity: deterministic CFL and LR grammars. Properties of CFL: closure properties, pumping theorem Parikh’s theorem Formal power series and degree of ambiguity. Fixed point theory. Algorithmic properties. Turing machine type-O grammar and their equivalence. TM as a transducer, recognizer, acceptor. Variants of TM. Turing acceptable and recognizable languages (recursive and recursively innumerable sets). Universal TM. Halting problem of TM and undecidability results (related to language theory e.g. equivalence of CFGs, ambiguity of CFG etc) Non-deterministic linear space bounded TM (liner bounded automata) and context-sensitive language (CSL ). Properties of CSL. Finite automation on infinite strings. Buchi and Mcnaughton finite state machines, their languages and properties, Relation of these machines and languages with logic and concurrency. Fractal images and automation on infinite strings.

Course Code:

CSE 419

**Course Name:** Management Information System

**Prerequisite: **None

**Credit Hours:** 3.00

**Detailed Syllabus: **

Introduction to MIS, Components on IS, Structures of IS, Implementation of different IS, DSS, AIS, Project Planning, Production cycle, Data processing, Processing cycle, etc

** **

Course Code:

CSE 420

**Course Name:** Compiler Design

**Prerequisite:** **CSE 201**, **CSE 305**

**Credit Hours:** 3.00

**Detailed Syllabus: **

Introduction to Compilers. Lexical analyzer, Regular expression, Non-deterministic finite automata and deterministic finite automata, Context free grammar, Ambiguous grammar, Parsing techniques, Syntax directed translation, type checking. Intermediate code, Symbol table, Data structure for symbol table, Run time storage administration, Error detection and recovery, code optimization, code generation. Use of tools – LEX and YACC. Design of a compiler for a subset of a programming language.

Course Code:

CSE 421

**Course Name:** WAN Technology

**Prerequisite:** **CSE 309**

**Credit Hours:** 3.00

**Detailed Syllabus: **

Public data networks, Routing strategies and flow control in packet switch networks, and X.25 standard. Circuit switched data networks and X.21 interface.

Course Code:

CSE 422

**Course Name:** Systems Programming

**Prerequisite:** **CSE 201**, **CSE 207**

**Credit Hours:** 3.00

**Detailed Syllabus: **

This is an advanced course in UNIX system facilities. It complements the operating systems course, in that it provides hands-on experience with such facilities as signals, semaphores and file locks. Familiarity with the C language is assumed.

About 40% of the course is devoted to UNIX shell programming and some useful utilities like sed and awk. The rest of the course does the UNIX system calls in detail – unbuffered I/O, directories, process creation, signals, pipes, record locks, interprocess communication, terminal handling and some tcp/ip calls.

Course Code:

CSE 423

**Course Name:** Advanced Computer Architecture

**Prerequisite:** **CSE 203**

**Credit Hours: **3.00

**Detailed Syllabus: **

Pipelined processor design, Cache memory, Memory system design, Concurrent processors, Vector processors and multiprocessors, Array processors, Parallelism in multiprocessors and Multicomputers, Compute-intensive processors and Multicomputers, Automatic Vectorization, Hypercube systems and Key application, Data flow computation.

Course Code:

CSE 424

**Course Name:** Parallel Programming

**Prerequisite:** **CSE 201**, **CSE 207**

**Credit Hours: **3.00

**Detailed Syllabus: **

**Parallel Models:** PRAMs; machines- SIMD; architectures’ meshes, arrays, hypercubes; basic algorithms- Pointer jumping, prefix computation, Loader election; sorting- Cole’s sorting networks; Numerical methods- matrix operations. PDE solutions; Graph problems- connected components, shortest paths, spanning trees; combinatorial search; the class NP and P-completeness.

**Writing distributed programs:** socket related system calls (stream and datagram), Remote Procedure Calls (RPC), Writing network utilities. Using utilities for the development, of distributed programs. Demonstration/ hands-on-experience on the issues involved in managing large network systems. Study of the performance of Ethernet LAN under varying load conditions.

**Process oriented versus object based Model:**. Synchronization Mechanisms: Threads, the critical section problems, some important Synchronization problems, language and abstraction mechanism for synchronization, axiomatic verification of mutual exclusion.

**Architecture of Distributed systems:** Communications Networks, Client/server architecture etc, Logical clocks and ordering of messages. Distributed mutual exclusion and dead lock detection algorithms and their analysis. Agreement protocols’, fail stop and non-fail stop protocols. Distributed resource management and scheduling failure Recovery and Fault Tolerance: Backward and Forward error recovery, operation based and state based approach, synchronous and asynchronous check pointing; Commit protocols, Voting protocols, Resiliency through primary site and modular redundancy approaches, Reliable Communication, Case studies: Tragon/32 Fault tolerance under UNIX.

** **

Course Code:

CSE 425

**Course Name:** Peripherals and Interfacing

**Prerequisite:** **CSE 307**

**Credit Hours: **3.00

**Detailed Syllabus: **

**Organization of a Microcomputer: **Design and operation of Interface between Computer and the outside world; Sensors, transducers and signal conditioning, Interfacing Memory, and 1/0 Devices such as monitors, printers, disk drives and some other smart interface cards; IEEE488 and other buses and interfacing Scientific Instruments. Study of Microcomputer’s Chips, Microprocessor Peripheral Chips. Application to peripheral subsystems-PPI, PIC, DMAC, PCI etc. Interfacing Data Converters, general-purpose programmable peripheral devices, serial I/O and data communication.

Course Code:

CSE 426

**Course Name:** Advanced Computer Networking

**Prerequisite: ****CSE 309**

**Credit Hours:** 3.00

**Detailed Syllabus: **

**Introduction:** Network types, Network protocol hierarchy’s overview of OSI and TCP/IP model?. LAN and MAN: Topologies, Bus/ Tree and Star using metallic media, optical fiber bus, the ring topology, Medium Access control protocols CSMA/CD, Token ring and FDDI, MAC performance, LAN/MAN Standards, High Speed LANs, Fast Ethernet, 100VG- any LAN, ATM LAM, Fibre channel, wireless LAN, and Gigabit Ethernet,

**WAN:** Public data networks, Routing strategies and flow control in packet switch networks, and X.25 standard. Circuit switched data networks and X.21 interface.

**ISDN and Broadband ISDN:** ISDN-Principles, user interface and services, ISDN channels, user access and protocols, Broadband ISDN- functional architecture and protocols.

**Frame Relay and Cell Relay:** Frame relay services and protocols, architectures, call control and data transfer, ATM-Overview, virtual channels and paths, ATM cells, header error control, transmission of ATM cells, traffic and congestion control, ATM switches.

**Satellites and Cellular Radio:** Geosynchronous and low-orbit satellites, VSATs, protocols for multiple access up-link channel, cellular radio, analog and digital cellular systems, GSM, persona! communication services.

**Internetworking:** Network interconnection, bridges and routers, connectionless and connection oriented Internet working, routing and fragmentation, Firewalls IP protocol rind IP addresses,

Internet control protocols- ICMP, ARP, RARP, multicasting. Domain name system and Name Servers.

**Distributed Applications:** Simple Network management protocol, Telnet and FTP, Electronic mail, 1 SMTP and MIME. The WWW-client and servers, writing wave page in HTML and Java, locating information the on the web, video on demand.

**
Network Security:** Type of attack, privacy with conventional encryption, Message authentication and Hash function public key encryption and digital signature.

Course Code:

CSE 427

**Course Name:** Multimedia Design and Development

**Prerequisite:****CSE 201**

**Credit Hours:** 3.00

**Detailed Syllabus: **

Analysis, design and implementation of multimedia software, primarily for e-learning courses or training. Projects emphasize user interface design, content design with storyboards or scripts, creation of graphics, animation, audio and video materials, and software development using high level authoring tools, such as Flash.

Course Code:

CSE 428

**Course Name:** Enterprise System Design and Development

**Prerequisite:** **CSE 201**

**Credit Hours:** 3.00

**Detailed Syllabus: **

This module gives an overview of some of the different tiered application architectures (1, 2, 3, N tiers) and some sample designs. The course teaches some of the foundation skills required for building medium to large scale web-based applications, with a B2B e-commerce focus. The course introduces J2EE and Microsoft .NET as two technology architectures for implementing enterprise applications. Java Servlets and Java Server Pages (JSP), Java application servers, integration of data from multiple data sources and distribution of business logic in component-based applications. Multiple application-end delivery formats are considered including web browsers and WAP phones.

Course Code:

CSE 429

**Course Name:** Digital Image Processing

**Prerequisite:** **CSE 201**

**Credit Hours:** 3.00

**Detailed Syllabus: **

Introduction, Digital Image Fundamentals, Image Transform, Image Enhancement, Image Restoration, Image Compression, Image Segmentation, Representation and Description, Recognition and Interpretation.

Course Code:

CSE 430

**Course Name:** Neural networks and Pattern Recognition

**Prerequisite:** **CSE 201**

**Credit Hours:** 3.00

**Detailed Syllabus: **

Introduction to Neural Network; ANN approach to recognition; ANN models, Design and development of ANN; back propagation model.

Introduction to pattern recognition. General pattern recognition concepts. Statistical pattern recognition. Supervised learning using parametric and non-parametric approaches. Linear discriminant functions and the discrete and binary feature cases. Unsupervised learning and clustering. Syntactic Pattern Recognition: Syntactic recognition via parsing and other grammars, graphical approach to syntactic pattern recognition, learning via grammatical inference. Neural Pattern Recognition: Neural pattern associators and matrix approaches, unsupervised learning in neural pattern recognition.

Course Code:

CSE 431

**Course Name:** Computational Geometry

**Prerequisite:** **CSE 201**

**Credit Hours:** 3.00

**Detailed Syllabus: **

Problems in computational geometry, worst case complexity of geometric algorithms; expected complexity of geometric algorithms and geometric probability, geometric intersection problems, nearest neighbor searching, point inclusion problems, distance between sets, polygon decomposition, the Voronoi diagram and other planner graph, updating and deleting from geometric structures.

Course Code:

CSE 480

**Course Name:** Web Technology

**Prerequisite:** **CSE 103**, **CSE 201**, **CSE 207**

**Credit Hours:** 3.00

**Detailed Syllabus: **

Designing an Internet utilizing a range of different technologies. Simplifying the creation and updating web content. Expanding Intranet services by adding client-slide and server-side processing. Interfacing Internet to a database. Querying a database using Cold Fusion.

Course Code:

CSE 498

**Course Name:** Social and Professional Issues

**Prerequisite:** None

**Credit Hours:** 3.00

**Detailed Syllabus: **

History of Computing, Social context of computing, Methods and tools of analysis, Professional and ethical responsibilities, Risks and liabilities of computer-based systems, Intellectual property, Privacy and civil liberties, Computer crime, Economic issues in computing, Philosophical frameworks.

Course Code:

CSE 499

**Course Name:** Final Year Project/Internship

**Prerequisite:** All Core CSE Courses

**Credit Hours:** 4.00

**Detailed Syllabus:**

Final Year Project/Internship is a subject that must be completed by final year student as a requirement to receive a Bachelor of Science (BSc) degree in Computer Science and Engineering. In this subject the student will be given one semester to work on a task that is related to their field of interest. Students are expected to do their work independently most of the time. But their progress will be monitored closely by their supervisors. At the end of the project/internship, students should document their work in a thesis which must be hard bounded and submitted to the department. Students are also required to submit a soft copy of their thesis to the department.

**Important Documents:**

Detailed Syllabus

Internship Report Outline

Research Project Report Outline

Supervisor Evaluation form

Examiners Evaluation form

Feedback Form – Industry Supervisor

Course Code:

ETE 202 / ETE 203 (LAB)

**Course Name: **Electronic Devices and Circuits I

**Prerequisite:** None

**Credit Hours: **3.00 + 1.00

**Detailed Syllabus: **

T**heory of Semiconductor:** Electronic structure of elements, energy level, energy band theory of crystals, energy band diagram of- insulator, semiconductor and metal, free electron theory, intrinsic and extrinsic semiconductor, Fermi level, concept of hole, carrier densities, generation and recombination of excess carriers, earner life time, carrier movement by diffusion rind drift, continuity equation.

**Semiconductor diodes:** The P-N junction, biasing conditions, V-I characteristics, half \vave and full wave rectification with filtering, clipping and clamping circuit, zener diode, tunnel diode, varactor diode.

**Bipolar transistor: **Junction transistors, PNP and NPN transistors, principles of operation, biasing, characteristics in different configurations, transistor switching time, DC and AC load line, Q factor, transistor equivalent circuit, small signal low frequency h-parameter model.

**Field effect transistor (FET):** Construction of JFET, characteristic.’, and principles of operation, FET biasing.

**MOSFET:** Different types, operation, characteristics curve, DC biasing of depletion and enhancement type MOSFET

**Other types of semiconductor device:** Thermistor, SCR, UJT, DIAC, TRIAC, photo diodes.

** **

Course Code:

ETE 204 / ETE 205 (LAB)

**Course Name:** Digital Electronics

**Prerequisite: ****ETE 202**

**Credit Hours:** 3.00 + 1.00

**Detailed Syllabus: **

**Introductory concepts:** Binary, octal and hexadecimal number system. BCD, ASCII codes. Logic gates and Boolean algebra, Combinational circuit design using NAND or NOR gates only, trouble shooting case studies. Minimization of switching functions, algebraic and graphical simplification of Boolean expression, Quine Mcluskcy method.

**NAND and NOR latches:** Clocked SR, JK, D and T flip-flop applications. Frequency division and counting, troubleshooting case studies. Arithmetic circuits. The half-adder and full-adder. Parallel adders, 1C parallel adders. 2’s complement addition and subtraction. The BCD adder. Binary multiplier, troubleshooting case studies.

**Counter: **Asynchronous ripple up and down counters, counters with any MOD numbers, asynchronous 1C counters, propagation delay. Parallel up, down and up/down counters. Presentable counters. Decoding a counter. Cascading counters.

Register: Shift registers, 1C shift registers, shift-register counters. Frequency counter, digital clock, trouble shooting case studies.

**MSI Logic circuits:** BCD-to-decimal decoders, BCD-to-7-segment decoder/drivers. Encoders. Multiplexers and their applications. Demultiplexers. Troubleshooting case studies. Analog-to-digital conversion (ADC), digital-ramp ADC, successive approximation ADC, flash ADC. Digital-to-analog conversion (DAC): circuits, specifications, applications. Sample and hold circuits.

I**ntegrated Circuit (1C) logic families: **TTL logic family, standard TTL series characteristics, other TTL series, TTL loading rules, TTL open-collector outputs, tristate TTL. The ECL family. Digital MOSFET circuits, characteristics. CMOS arcuits, CMOS tristate logic TTL driving CMOS, driving TTL.

**Memory Devices:** Semiconductor memory technologies. ROM architecture timing and types of ROM. EPROM, EEPROM, ROM applications. RAM architecture, static and dynamic. RAM, DRAM structure operation and refreshing. Expanding word size and capacity. Magnetic bubble and CCD memories trouble shooting case studies. Introduction to sequential circuits, formal representation of sequential circuits.

Course Code:

ETE 315

**Course Name:** Digital Signal Processing

**Prerequisite:** **CSE 307**

**Credit Hours:** 3.00

**Detailed Syllabus: **

**Introduction:** Digital Signal Processing and its benefits: Key DSP Operations, Real-time signal processing, Applications.

**Discrete Transform:** Fourier series, OFT, FFT and other discrete transforms, Z-transforms and its applications in signal processing, correlation and convolution with examples,

**Filters:** FIR, IIR and adaptive filters.

An overview of spectrum estimation and analysis.

Course Code:

ETE 447

**Course Name:** VLSI Design

**Prerequisite:** **ETE 202**

**Credit Hours:** 3.00

**Detailed Syllabus: **

Introduction to MOS technology, PMOS, NMOS, and CMOS transistor structures. Physics of MOS transistors, Fluid model, Electrical characteristics, Operation of MOS transistor as a switch and an amplifier, MOS inverters, MOS Fabrication steps, stick diagrams, design rules and layout, MOS circuits, delay analysis, susperbuffers, Dynamic MOS circuits Registers, counters and Memory realizations, Hierarchical view of VLSI System Design, Behavioral description, High Level Synthesis Scheduling, allocation and data path synthesis, Logic synthesis multilevel minimization, PLA reduction, regular structure circuits, Synthesis of FSM-ASM chart representation and realization, Layout synthesis, Placement and routing, Testing of VLSI, Testing of stuck-at faults, Testing of PL As, RAM, Boundary scan technique.

Course Code:

ETE 463

**Course Name: **Optical Fiber Communication

**Prerequisite:** **CSE 309**

**Credit Hours:** 3.00

**Detailed Syllabus: **

**Optical fiber: **Introduction, structure, step index and graded index fibers, Modes of propagation, Signal degradation in Optical fibers: Attenuation, signal distortion, pulses broadening mode coupling. Optical sources: LED, Laser diodes light source linearity model partition and reflection noise. Power lunching and coupling: source to fiber power lunching Lansing scheme, fiber to fibber join, splicing fiber connectors. Photo detectors: basic principles, photo-detectors noise, response time, and avalanche multiplication noise.

**Optical receiver operations:** receiver configurations, digital receiver, Performance preamplifiers.

**Digital translation systems:** point-to-point link, line coding, and eye pattern,

system Performances.

**Advanced systems and techniques:** WDM, local area networks, optical amplifier, phonic switching.

** **

Course Code:

MAT 101

**Course Title:** Differential and Integral Calculus

**Prerequisite:** None

**Credit Hours:** 3.00

**Detailed Syllabus: **

**Differential Calculus:**

Functional Analysis and Graphical Information: function, properties of functions, graphs of functions, new function from old, lines and family of functions, Limit: Limits( an informal view), one sided limits, the relation between one sided and two sided limits, computing limits, Continuity: continuity and discontinuity, some properties of continuity, the intermediated value theorem, Derivatives: slop and rate of change, tangent and normal, derivative of a function, physical meaning of derivative of a function, techniques of differentiation, chain rule, successive derivatives, Derivative in graphing and applications: analysis of functions, maximum and minimum, Expansion functions: Taylor’s series, Maclaurian’s series, Leibniz; Rolle’s and Mean Value theorems, Partials and total derivatives of a function of two or three variables.

**Integral Calculus: **

Different technique of integration: integration, fundamental integrals, methods of substitutions, integration of rational functions, integration by parts, integrals of special trigonometric functions, reduction formulae for trigonometric functions, Definite integrals: general properties of definite integral, definite integral as the limit of sum and as an area, definition of Riemann integral, Fundamental theorem of integral calculus and its applications to definite integrals, determination of arc length, Improper integrals, Double integrals, Evaluation of Areas and Volumes.

** **

Course Code:

MAT 102

**Course Title:** Co-ordinate Geometry and Liner Algebra

**Prerequisite:****MAT 101**

**Credit Hours:** 3.00

**Detailed Syllabus: **

**Coordinate Geometry: **

Coordinates, polar coordinates, straight lines, changes of axes, pair of straight lines, circle parabola, ellipse, hyperbola, rectangular coordinate, plane.

Vector Analysis: vector components, vector components in spherical and cylindrical system, vector operators, scalar and dot product, application of vector geometry, derivative of vector, del, gradient, divergence and curl, physical significance, integration of vector, line surface and volume integration, Theorems (Green’s, Gauss’s, Liouville’s, Stoke’s) and their applications.

**Linear Algebra:**

Systems of Linear Equations (SLE): introduction to SLE, solution of a SLE, solution of a system of homogeneous LE, Gaussian and Gauss-Jordan elimination, Determinants: factorization, determinant, fundamental properties of determinants, minors and cofactors, Cramer’s rules for solving a SLE, Algebra of Matrices: Matrix, some special types of matrices, transpose, adjoint and inverse of a matrix, algebraic operation on matrices, quadratic forms solution of a LE by applying matrices, Vector Space: space and subspace, Euclidean n-space, basis and dimension, rank and nullity, Linear Transformations (LT) and its Matrix Representations: LT from to , properties of LT, matrix representation of a LT, diagonalization of LT, Eigen Values and Eigen Vectors: polynomials of matrices and linear operators, eigen values and vectors, diagonalizability, Cayley-Hamilton theorem, characteristic and minimum polynomial Inner Product Spaces: inner product spaces, Cauchy-Schwarz inequality, orthogonality, Gram-Schmidt orthogonalization process, linear functional and adjoint operators, Some Applications of LA.

** **

Course Code:

MAT 201

**Course Title:** Differential Equation and Numerical Analysis

**Prerequisite:** **MAT 102**

**Credit Hours:** 3.00

**Detailed Syllabus: **

**Differential Equations:**

Basic Definitions and Terminology: differential equation (de), classifications of de, formation and solution of a de and further terminology, Ordinary de (ode), des of the first order and first degree: variable separable, homogeneous equations, exact equations, linear equations, Linear Equations with constant coefficients: linear and nonlinear de, solution of linear de, 2nd order des, 2nd and higher order homogeneous des, Method of Variation of Parameter; Method of undetermined coefficients; System of Linear de: operator method matrices and system of linear first order equations, homogeneous linear systems, undetermined coefficients, variation of parameters, Solution by Series.

Numerical Analysis:

Errors in Numerical Calculations: numbers and their accuracy, errors and their computation, a general error formula, error in a series approximation, Solution of Algebraic and Transcendental Equations: bisection, iteration, false position, Newton-Raphson methods, Interpolation: finite difference, forward, backward and central differences, Newton’s formula for interpolation, Stirlings formula, Lagrange’s interpolation formula, divided differences and their properties, Numerical Differentiation and Integration, Matrices and Linear Systems of Equations, Numerical Solution of Ordinary Differential Equations.

Course Code:

MAT 203

**Course Title:** Mathematical Methods

**Prerequisite:** **MAT 101**

**Credit Hours:** 3.00

**Detailed Syllabus: **

**Laplace Transformations:**

Laplace Transformation (LT), Inverse Laplace Transforms (ILT), Applications of LT to de, Complex Variable Theory: complex number system, polar form of complex numbers, operations in polar form, De Moivre’s theorem, roots of complex numbers, functions, limit, continuity, derivatives, Cauchy-Riemann equations, line integral formulas, Green’s theorem in the plane, Integrals, Cauchy’s theorem, Cauchy’s integral formulas, Taylor’s series, Singular points, Poles, Laurent’s series, residues, residues theorem, evaluation of definite integrals, Convergency and Divergency of infinite series: general properties of series, test of convergence and divergence of the series of constants, power series, uniform convergence, Cauchy criterion for uniform convergence. Power series solution of de: analytic and singular functions, ordinary and singular points of a differential equation, Solution in series of the de.

**Fourier Analysis: **

Beta and Gamma functions, Fourier series and Applications: Periodic functions and Trigonometric series, Definition of Fourier Series, Dirichlet conditions, Fourier sine and cosine series, Half-Range Fourier Sine and Cosine series, Perseval’s Identity, Integration and differentiation of Fourier series, Complex notation for fourier series, Some physical applications of fourier series, Fourier Integrals and Applications: Fourier integral, Fourier transforms, Fourier sine and cosine transforms, Persival’s Identities for Fourier Integrals, Convolution theorem for Fourier transforms, Applications of Fourier Integrals and transforms, Special functions: Legendere’s de and Legendere’s polynomials, Bessel’s de and Bessel functions, Hermite’s de and Hermit’s polynomials, Laguerre’s DE and Laguerre’s polynomials.

Course Code:

PHY 101

**Course Name**: Physics I

**Prerequisite:** None

**Credit Hours:** 3.00

**Detailed Syllabus: **

**Structure of Matter. States of matter:** Solid, liquid and gas. Classification of solids: amorphous, crystalline, ceramics & polymers, Atomic arrangement in solids. Different types of bonds in solids: metallic, Van der Walls, ionic bond, packing in solids. Inter-atomic distances and forces of equilibrium, x-ray diffraction: Bragg’s law. Plasticity and elasticity. Distinction between metal, insulator and semiconductor.

**Waves & Oscillations:** Simple harmonic motion, damped simple harmonic oscillation, forced oscillations, resonance. Vibrations of membranes &. columns, combinations &. composition of simple harmonic motions. Lissajous’ figures. Transverse &. longitudinal nature of waves, traveling & standing waves, intensity of a wave, energy calculation of progressive & stationary waves. Phase velocity, group velocity. Sound waves: velocity of longitudinal wave in a gaseous medium, Doppler effect. Architectural acoustics: Sabine’s formula, requisites of a good auditorium.

** **

Course Code:

SAT 206

**Course Title:** Statistics and Probability

**Prerequisite:** None

**Credit Hours:** 3.00

**Detailed Syllabus: **

**Statistics:**

Introduction to Statistics: what is statistics, statistical data, statistical methods, scope and limitation of statistics, Populations and Samples, collection and presentation of data, Grouped Data and Histograms, Some Graphical Methods: bar charts, time plots, Pie charts, scatter plots, box and Whisker plots, Measure of Central Tendency: mean , median and mode, Measure of Variations, Measure of Skewness, Moments and Kurtosis, difference between Variation and Skewness, Correlation and Regression Analysis: significance of the study of correlation, types of correlation, difference between correlation and regression Analysis, Sampling and Sampling Distributions, Survey Sampling Methods.

**Probability:**

Probability: meaning of probability, classical definition of probability, statistical probability, some theorems in probability, distribution function, probability distributions:

Binomial, normal and exponential distributions.