Course Work

I have taken the following courses at the University of Illinois at Chicago in pursuit of a Bachelors of Science in Computer Science. The UIC Catalog has Course Descriptions.

CS398 Undergraduate Research

PUBLISHED! See PwdGen Study

CS 398, Summer 2006, Supervisor: Dr. V.N. Venkatakrishnan (Professor Venkat). I did original research, a usability study, and wrote a paper:

A Comparison of Three Random Password Generators

Abstract: This paper compares three random password generation algorithms, describing and analyzing each. It also reports the results of a small study testing the quality of the passwords generated by the algorithms. Qualities discussed include security, memorability, and user affinity. Suggestions are made for improving the experiment and the individual algorithms.

Download: pdf or ps.gz

CS340 Software Design

I'm quite proud of my performance in this class. My final grade for the class was 100.6%. I am providing my projects below as examples of my programming skill.

Public Key Encryption and Decryption using RSA

Memory

Dots and Boxes

Blocks Puzzle Solver

  • Finds the shortest solution to a puzzle with sliding blocks
  • Emits starting board, solution, and solved board
  • Optionally creates HTML4.01 report file
  • Developed for Java 1.5 using JDK 5.0, Eclipse 3.1, Windows XP
  • Example Report
  • Browse Source
  • Download mp4.f.tar.gz

Kings Corner

CS366 Computer Architecture II

Project 1: Loop & Compare

Project 2: Functions

  • MIPS assembly program to read coefficients from the user, compute the value of a polynomial, and report the result
  • Implement the polynomial computation in a function
  • SPIM 7.2 MIPS Simulator
  • Assignment Description: proj2.assignment.pdf
  • My Submission: proj2.final.asm

Project 3: Recursive Merge Sort

  • MIPS assembly program that performs merge sort on an array of integers using a recursive function
  • SPIM 7.2 MIPS Simulator
  • Assignment Description: proj3.assignment.pdf
  • My Submission: proj3.asm

Project 4: Micro-code

Project 5: Division via Lookup-Table, Parity Generator

This assignment proved to be very challenging due to bugs in MythSim and ambiguities in the assignment description. To work around the MythSim bugs, I designed a MythSim Assembly Language and wrote an assembler in Python. This allowed me to complete Part 2 of the assigment in a short amount of time.


Copyright © 1999-2007 Michael Leonhard Hosted by HCOOP Valid HTML 4.01!