Old School

You can no longer directly link to the documents or other content such as “c” source files. Please search through the classes and documents below.

Thanks for visiting! This page contains some of my school work.

Please forgive my horrific use of fonts and spacing back then. Only now in this late hour do I realize my mistakes of youth when I lacked understanding of print vs. screen font usage, page layout, and document flow. For this I apologize to my professors.

My reasons for posting answers:

  1. Whether your goals are finishing or creating an assignment, or just understanding one of the basic concepts approached in each assignment, hopefully something here will be of some use to you.
  2. It provides a good way to organize my work in a logical manner. It’s easier for me to make use of it this way.
  3. Sometimes you can’t reach an answer on your own. It is better to have an answer available for you to work through thus you may actually reach enlightenment instead of failing and not learning jack shit.
  4. I don’t have a lot of respect for existing teaching methodologies. This is the information age, answers are available on request. Adapt.
  5. Because I can.

All publicly available software found in this section is released under the GPL and all documentation is released under the FDL
with the following exceptions:

  • the questions and excerpts from texts remain the intellectual property of their respective copyright holder. Their use is governed by their respective licenses. Permission was granted by the authors for their work to be distributed in this form.

Algorithm Design and Analysis

Primary goals: learn the quantitative methods used in the analysis of algorithms sharpen their problem solving skills through the design of algorithms learn to write explanations for the correctness of algorithms and justifications for their performance Secondary goal: to familiarize students with a range of fundamental algorithms. An index of all cs441 files can be …

View page »

Compiler Design Principles

The course provides the student with an overview of the issues in the design and construction of translators. The course emphasizes techniques with direct application to construction of compilers; many of the same concepts find application in interpreters. Automata Theory: regular expressions, finite automata, context free grammars, NFA and DFAs. Deterministic parsing: LL, LR parsers …

View page »

Computer Architecture

This course will study the design of complex computer systems. All parts of a computer system as covered. We will start off with a discussion of computer performance and measurement, instruction set architectures and computer arithmetic. We will discuss the basic control unit of a computer and the design of system datapaths. We will discuss …

View page »

Computer Organization & Assembly Language

The purpose of this course is to introduce computer science majors to computing systems below that of a high-level programming language. The material covered can be broadly separated into the categories of assembly language programming and computer organization. Under the heading of assembly language programming students will be introduced to the i386 instruction set, low-level …

View page »

Data Structures

The course covers data structures and associated algorithms. Relationships among data structures, their utility in various situations, and factorsaffecting their performance in algorithms will be considered. You will learn to analyze the demands of algorithms, how to choose appropriate data structures, and how to integrate data structures into algorithms. Project Description Priority Based Service Queue …

View page »

Graphical User Interface Programming

The purpose of this course is to provide the student both knowledge and a basic Graphical User Interface, GUI, program that the student has written and can be expanded into various applications the student wants to develop. Project Description XMMS Visualization Plugin (C) A solar system and spectrum analyzer for xmms. This is a stepping …

View page »

Operating Systems

This class covers the basics of modern computer operating systems, including processes and synchronization, memory management, I/O, file systems, and security / protection. Project Description Basic Kernel Building The first step for anyone starting to learn the kernel…. we had to modify the Makefile and learn how to make patches <yawn>. Took me longer to …

View page »

Principles of Programming Languages

This course examines the semantics of programming languages. Topics include: history and fundamentals of programing languages, formal specifications of syntax and semantics; the implementation and execution of programs; and object-oriented, functional, and logic programming. Programming assignments andprojects will provide experience in a number of languages. Project Description Hangman (Java) A simple java console based hangman …

View page »

Scripting Languages

This course is a study of a class of programming languages and tools known as Scripting Languages. Topics include: writing scripts to control and connect other programs, strengths and weaknesses of interpreted languages, extending scripting languages to include new functionality, embedding functions of a scripting language in other tools, syntax and usage of regular expressions, …

View page »