Module 1 (2 (T) + 6(P) Hours)
Generation of lexical analyzer using tools such as LEX
Module 2 (6 (T) + 14(P) Hours)
Generation of parser using tools such as YACC. Creation of Abstract Syntax Tree
Module 3 (3 (T) + 10(P) Hours)
Creation of Symbol tables. Semantic Analysis.
Module 4 (3 (T) + 12(P) Hours)
Generation of target code.
References:
-
W. Appel, Modern Compiler Implementation in C, Cambridge University Press, 1998.
-
V. Aho, M. S. Lam, R. Sethi, J. D. Ullman, Compilers- Principles, Techniques & Tools, 2/e, Pearson Education, 2007.
CS3092 OPERATING SYSTEMS LABORATORY
Pre-requisite: Nil
-
Total Hours: 56Hrs
Theory (14 Hours)
Unix system programming fundamentals and system calls.
Practical (42 Hours)
Linux shell programming, Inter process communication-Pipes, semaphores, Shared memory and Message passing Loading executable programs into memory and execute System Call implementation-read(), write(), open () and close()
Multiprogramming-Memory management- Implementation of Fork(), Wait(), Exec() and Exit() System calls
Support for software TLB- TLB implementation – implementation of LRU replacement algorithm
File system implementation-demand paging - page fault exception – page replacement policy
Implementation of Synchronization primitives -Semaphore, Locks and Conditional Variables
Build Networking facilities - Mailbox
References:
-
Gary J. Nutt, Operating Systems, Pearson Education, 3/e, 2004.
-
Daniel P Bovet, Marco Cesati , Understanding the Linux Kernel, O'Reilly Media, 3/e, 2005.
CS3093 NETWORKS LABORATORY
Pre-requisite: Nil
-
Total Hours: 56 Hrs
Theory (14 Hours): Introduction, Overview of Unix Programming Environment, Unix Programing Tools, Introduction to Computer Networking and TCP/IP, Introduction to Socket Programming, TCP Sockets and Concurrent Servers, Threads, I/O Multiplexing and Socket Options, UDP Sockets and Name and Address Conversions, Daemon Processses and Inetd Superserver, Advanced I/O and Timeouts, Non-blocking Sockets, Unix Domain Sockets, Broadcasting, Multicasting, Advanced UDP Sockets, Ioctl Operations.
Introduction to open source firewall packages. Introduction to network emulators and simulators.
Practical (42 Hours)
Experiment 1: Implementation of basic Client Server program using TCP Socket (Eg. Day time server and clent).
Experiment 2: Implementation of basic Client Server program using UDP Socket.
Experiment 3: Implementing a program with TCP Server and UDP Client.
Experiment 4: Implementation of TCP Client Server program with concurrent connection from clients.
Experiment 5: Implementing fully concurrent application with a TCP server acting as a directory server and client programs allowing concurrent connection and message transfer (Eg. Chat sytem).
Experiment 6: Fully decentralized application like a Peer to Peer system. This program is to implement without a designated Sever as in the case of experiment 5.
Experiment 7: Experiments with open source firewall/proxy packages like iptables,ufw, squid etc.
Experiment 8: Experiments with Emulator like Netkit, Emulab etc.
Experiment 9: Experiments with Simulator like NS2, NCTU NS etc.
References:
-
W. Rıchard Stevens, Unix Network Programming – Networking APIs: Sockets and XTI Volume 1, 2nd Edition, Pearson Education, 2004.
-
W. Rıchard Stevens, Unix Network Programming – Interprocess Communications Volume 2, 2nd Edition, Pearson Education, 2004.
-
Warren W. Gay, Linux Socket Programming by Example, 1st Edition, Que Press, 2000.
-
Brian Hall, Beej's Guide to Network Programming, http://beej.us/guide/bgnet/ Accessed May, 2011.
-
Elliotte Rusty Harold, Java Network Programming, 3rd Edition, O’Reilly, 2004.
-
Douglas C. Schmidt, and Stephen D. Huston, C++ Network Programming, Volume 2, Addison-Wesley, 2003.
CS3094 PROGRAMMING LANGUAGES LABORATORY
Pre-requisite: Nil
-
Total Hours: 56 Hrs
Theory (14 Hours)
Functional programming foundations review.
Practical (42 Hours)
Module 1 (5 (T) + 12(P) Hours)
Introduction to functional programming. Interpreter for the language of untyped arithmetic expressions.
Module 2 (3 (T) + 12(P) Hours)
Interpreter for the language of Untyped Lambda Calculus
Module 3 (3 (T) + 9(P) Hours)
Interpreter for the language of Typed arithmetic expressions.
Module 4 (3 (T) + 9(P) Hours)
Interpreter for Simply Typed Lambda Calculus and its extensions.
References:
-
Benjamin C. Pierce, Types and Programming Languages, MIT Press, 2002.
CS3095 DATABASE MANAGEMENT SYSTEMS LABORATORY
Pre-requisite: Nil
-
Total Hours: 56 Hrs
Theory (14 Hours)
Study of Postgres SQL, PL/SQL programming and JDBC. Concepts of views, scripts, triggers and transactions, SQL DBA, PHP, Eclipse. Servlets
Practical (42 Hours)
Laboratory exercises which include defining schemas for applications, creation of a databases, writing SQL and PL/SQL queries, to retrieve information from the databases, use of host languages, interface with embedded SQL, use of forms & report writing packages available with the chosen RDBMS product preferably Postgres SQL Programming exercises on using scripting languages like PHP, Giving web interfaces for back end database applications.
Exercises on Programming in Java for connecting Postgres SQL databases using JDBC.
Exercises on creating web page interfaces for database applications using servlets.
References:
-
Avi Silberschatz, Hank Korth, and S. Sudarshan, Database System Concepts, 5/e, McGraw Hill, 2005.
-
R. Elmasri and S. Navathe, Fundamentals of Database Systems, Addison Wesley, 5/e , 2007.
CS3096 COMPUTATIONAL INTELLIGENCE LABORATORY
Pre-requisite: Nil
-
Total Hours: 56 Hrs
Dostları ilə paylaş: |