students will perform experiments to verify practically the theories and concepts learned in CSE 103.
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.
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.
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.
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.
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.
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.
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.
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.
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.