Course Catalogue

Course Code: CSE 1301
Course Name:
Data Structures
Prerequisite:
Credit Hours:
3.00
Detailed Syllabus:

Internal data representation; Abstract data types; elementary data structures: arrays, linked lists, stacks, queues, trees and graphs; basic data structures operations: traversal, insertion, deletion, searching, merging, sorting, tree; tree traversal and graph traversal; recursion and recursive algorithm, pattern matching; advanced data structures: heaps, Fibonacci heaps; search trees: binary search trees, AVL trees, multi-way search trees, sorting, hashing.

Course Code: CSE 1302
Course Name:
Data Structures Lab
Prerequisite:
Credit Hours:
1.00
Detailed Syllabus:

Based on Theory course.

Course Code: CSE 201 / CSE 202
Course Name:
Object Oriented Programming
Prerequisite:
Credit Hours:
3.00
Detailed Syllabus:

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
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:
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:
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
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 2101
Course Name:
Digital Logic Design
Credit Hours:
3.00
Detailed Syllabus:

Course conduction on Digital logic, Boolean algebra, De-Morgan’s law, logic gates and their truth tables, canonical forms, Combinational logic circuits, minimization techniques, Arithmetic and data handling logic circuits, decoders and encoders, Multiplexers and demultiplexers, Combinational Circuit design, Flip-flops, race around problems, Counters and their applications, PLA design, Synchronous and asynchronous logic design: state diagram, Mealy and Moore machines, State minimizations and assignments, Pulse mode logic, Fundamental mode design.

Course Code: CSE 2102
Course Name:
Digital Logic Design Lab
Credit Hours:
1.00
Detailed Syllabus:

Based on Theory course.

Course Code: CSE 2103
Course Name:
Object Oriented Programming
Prerequisite:
Credit Hours:
3.00
Detailed Syllabus:

Object-Oriented Fundamentals, Encapsulation, Polymorphism, Inheritance, Class, Object, Java Language Introduction, Variable Types and operators, Casting, Arrays, Introducing classes, Adding methods to class, constructor, String Handling, Garbage collection, Inheritance, Inner Class, Abstract Classes, Interfaces and Packages, Exception Handling, Java Input / Output, Multithreaded Programming and Synchronization, Applet, Event Handling, Networking with Java, Introducing the Swing, Utility Classes, Java Generics.

Pages