Course Catalogue

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.

Course Code: CSE 2104
Course Name:
Object Oriented Programming Lab
Prerequisite:
Credit Hours:
1.00
Detailed Syllabus:

Based on Theory course

Course Code: CSE 211
Course Name:
Digital Logic Design
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 2200
Course Name:
Design Project-I
Prerequisite:
Credit Hours:
1.00
Detailed Syllabus:

Based on object oriented programming.

Course Code: CSE 2201
Course Name:
Algorithms
Prerequisite:
Credit Hours:
3.00
Detailed Syllabus:

Introduction, Growth of Functions, Techniques for analysis of algorithms; Methods for the design of efficient algorithms: divide and conquer, greedy method, dynamic programming, back tracking, branch and bound; basic search and traversal techniques; topological sorting; connected components, spanning trees, shortest paths; Flow algorithms; Approximation algorithms; Parallel algorithms, Lower bound theory; NP-completeness, NP-hard and NP-complete problems.

Pages