Resume | Research Experience | Publications | Academic Course Work

Academic Overview: Courses and Presentations

Summary of Courses
Fall 2000
Winter 2001
Spring 2001
Fall 2001
Winter 2001
Spring 2002
Fall 2002
Fall 2003

Spring 2004

Course Work Summary: Link to all the courses done in UCI


Fall 2000

ICS 207: Information Retrieval System

Developed a Java based information retrieval system to analyze the link and content structure of a given web page. The user creates a list of his favorite sites and the system periodically parses the site recursively and sieves the link and the content structure. This data is then used to find the difference between the current version of the site and its previously visited version. Statistics like new links/contents added/deleted are displayed. This tool could also be used as an agent that keeps track of a user’s favorite web sites and update him if new contents/links are added or deleted.

ICS 280: Configuration Management

Winter 2001

ICS 221 Software Engineering

Presented a survey paper on the Architectural Patterns. The paper dealt in depth architectural patters like Model View Controller, Broker, Layered Pattern etc. Each pattern was described in terms of the forces that they resolve, behavior-using CRC diagrams and several scenarios where they are used.


    Course overview and Lectures given by Professors (in pdf format)


    Patterns for Software Architecture

ICS 222 Formal Methods in Software Engineering

     Course Overview and Lectures

     Social Processes and Proofs of Theorems and Programs

ICS 243A Computer Networks

     Design of ALPAC Protocol

ICS 207 Computer Supported Co-operative Work

      Concurrency Control for Real Time Groupware

Spring 2001

ICS 243D Internet Technologies

     Peer to Peer Computing

    Distributed Denial of Service (DDOS) Attacks


The software provided features like sending/receiving emails, ability to attach files/

        save attachments etc. The email system also included registration and password

        protection facilities. Other options include Address book option, creation of mailing

        lists and nicknames for the frequently used emails. 


Fall 2001

ICS 211 Advanced Compiler Construction

   Course Overview (Since this course is one of the toughest courses, the source for the

      project will be available via email to those who request)

Winter 2002

ECE 233 Real-Time Systems

Analyzed the suitability of several static and dynamic priority algorithms for real time systems. Some of the algorithms analyzed were: Rate Monotonic, Earliest Deadline First, Total Band width server etc. The project also dealt with algorithms for SMP architectures like Hierarchical Band width server, and Open Virtual Systems. Finally the project also highlighted the features of the Real-Time Java Specification.

ECE 231 Advanced System Software

As part of this course, implemented the producer consumer problem using POSIX threads. Two solutions were implemented one using named Semaphores and the other using Message Queues. The implementations were used to compare the performance of shared memory v/s Message queues. System V performances was also measured and contrasted with the POSIX results for each case. In another assignment, POSIX Signals and shared memory was used to simulate Inter process communication.

 Copy of the course web page can be found here (Many of the links are stale and may not work)

 Assignment Description:

         POISX Threads   Comparison of Shared Memory v/s Semaphores        Signals


         My Assignment Solutions in tarred gziped format can be found here


  Review on Kerberos 


Spring 2002

ECE 255 Patterns of Software Architecture

      Pattern Oriented Software Architecture (Presentation on Patterns for Software Architectures)

      Use Case Identification for the Project (Use Case Identification Document)

      Patterns for Networked Concurrent Objects  (Final Report)

    Use Case Diagrams and UML-J2ee Mapping (zipped format)

Fall 2002

ECE 298 Architectures for Parallel systems



Fall 2003

        CS 381 Advanced System Software

          Syllabus and Schedule

       CS 291 Software Design Studio

            Syllabus, Schedule and Assignments (If you need the solutions to the assignments please email me)

        CS 388 Model Integrated Computing

            Syllabus and Course materials

Spring 2003

        CS 390 Model Driven  Middleware

            Syllabus and Course materials

Teaching Assistant Experience

  ICS 52 Software Engineering with Prof Andre van der Hoek Fall 2000

  ICS 139 W  with Doris K. Tonne Winter 2001

  ICS 10 B  with Norman Jacobson  Spring 2001