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.
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.
Introduction to MIS, Components on IS, Structures of IS, Implementation of different IS, DSS, AIS, Project Planning, Production cycle, Data processing, Processing cycle, etc
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.
Public data networks, Routing strategies and flow control in packet switch networks, and X.25 standard. Circuit switched data networks and X.21 interface.
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.
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.
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.
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.
Introduction: Network types, Network protocol hierarchy’s overview of OSI and TCP/IP model?. LAN and MAN: Topologies, Bus/ Tree and Star using metallic media, optical fiber bus, the ring topology, Medium Access control protocols CSMA/CD, Token ring and FDDI, MAC performance, LAN/MAN Standards, High Speed LANs, Fast Ethernet, 100VG- any LAN, ATM LAM, Fibre channel, wireless LAN, and Gigabit Ethernet,
WAN: Public data networks, Routing strategies and flow control in packet switch networks, and X.25 standard. Circuit switched data networks and X.21 interface.
ISDN and Broadband ISDN: ISDN-Principles, user interface and services, ISDN channels, user access and protocols, Broadband ISDN- functional architecture and protocols.
Frame Relay and Cell Relay: Frame relay services and protocols, architectures, call control and data transfer, ATM-Overview, virtual channels and paths, ATM cells, header error control, transmission of ATM cells, traffic and congestion control, ATM switches.
Satellites and Cellular Radio: Geosynchronous and low-orbit satellites, VSATs, protocols for multiple access up-link channel, cellular radio, analog and digital cellular systems, GSM, persona! communication services.
Internetworking: Network interconnection, bridges and routers, connectionless and connection oriented Internet working, routing and fragmentation, Firewalls IP protocol rind IP addresses,
Internet control protocols- ICMP, ARP, RARP, multicasting. Domain name system and Name Servers.
Distributed Applications: Simple Network management protocol, Telnet and FTP, Electronic mail, 1 SMTP and MIME. The WWW-client and servers, writing wave page in HTML and Java, locating information the on the web, video on demand.
Network Security: Type of attack, privacy with conventional encryption, Message authentication and Hash function public key encryption and digital signature.