Home
UF
About Me
Courses
Resume
Family & Friends






Here is a brief summary of the courses  I have taken so far at UF.
For a list of projects, please click here

Fall 2000:

1)Computer Networks and Communication : Covered the fundamentals of computer networks including OSI layers and a somewhat detailed look at the TCP/IP protocol suite.
Projects included implementing a cline-server communication protocol with data link controls like selective repeat and automatic timeout.

2)DBMS : Covered all the concepts of a general database management system and SQL. Project in this course was a group implementation of an online library system. We laid more stress on the design aspects of the system. Implementation was done in Java Servlets and Sybase as the DBMS.

3)Analysis of Algorithms : This course was the first of the 4 core classes that we have to take. Covered a variety of algorithm designing techniques and important concepts like NP-hard and NP-complete problems.

Spring 2001:

1)Computer and network Security : This course covered the various aspects of the vulnerabilities of a computer system and ways of enforcing security in the network as well as maintaining computer security. It also covered the topics of encryption algorithms like DES, RSA, etc. Various aspects of network security were also covered. 

I worked on a team project on making an existing intrusion detection system secure by establishing ways of secure communication between the components of the IDS. The implementation involved the distribution of a session key for the two-fish algorithm by making use of the public key cryptography technique. the project was implemented in java.

2)Software Testing and Verification : The course on software testing and verification covered in detail the different methods of program testing include white box and black box testing techniques. Further topics covered included functional verification and cleanroom software engineering.

3)Computer Architecture Principles: This was my second core course. It covered all the advanced topics of computer architecture like performance analysis, pipelining, static and dynamic scheduling, cache, memory organization and multiprocessors in great detail. 

Project in this subject included a detailed study of pipeline performance the SimpleScalar simulator and doing an extensive performance analysis report.

Summer 2001:

1)Programming Language Principles: This course was my third core class. It was a heavily programming oriented class. The theory part of the course covered new concepts in programming languages like functional programming. The course covered the concepts of parsing using LL parsers. It also covered the operational semantics of a language using RPAL as the language of study. The second half of the course covered in depth topics like denotational semantics of programming languages and attribute grammars.

As far as the project was concerned, I worked in a team of two for the project. It consisted of two different stages. The first stage of the project involved building a lexical analyzer and a top-down (recursive descent) parser for the TINY language - a subset of the C-programming language. The second half of the project was much more involved and consisted of implementing a constrainer for the language and culminated in a code generator for the language where we generated JVM code for TINY.

Fall 2001:

1) Distributed Operating Systems: This was my fourth and last core class. The coursework included an initial brief overview of all the operating system concepts like process management, IPC, memory management, etc., followed by an in-depth coverage of distributed operating systems and distributed algorithms. During the semester, I wrote a term paper as part of a group of four; on reliable distributed operating systems(stressing on the fault tolerant approach).

2) Unix System Administration: This was a very interesting course which I took under Dr. Wilson. The course was very much practical experience-based. It involved getting a hands-on experience in managing Unix systems. I administered a Sun Netra and an IBM AIX. During the course, I learnt how to administer these systems. I set up a sub-network consisting of these 2 machines, learnt how to install softwares, how to backup on remote drives, adding users, setting up name services, mail services and in general all the stuff that administrators usually do.
A totally new and very very interesting experience!!!

 

 

 

Hosted by www.Geocities.ws

1