Course Catalogue

Course Code: CSE 415
Course Name:
Visual Programming
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#
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:
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
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
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:
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
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:
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
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:
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.

Pages