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.
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.
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
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;
Introduction 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.
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.
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.
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
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.
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.
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.