Projects
Collegiate
Spring Semester 2009
While enduring the second semester of my social Sophomore year at Cedarville University, I completed these projects.Survey of Programming Languages
Topic Paper #22 - Report for the Java/C++ Concurrency BenchmarkTopic Paper #20 - Report for the Sudoku Solver in Python
Topic Paper #19 (Term Paper) - Concurrency in Eiffel
Topic Paper #18 - Choosing a Programming Language
Topic Paper #17 - The Four Major Programming Paradigms
Topic Paper #16 - Functional Versus Logic Programming
Topic Paper #14 - Report for the IBM 650 Emulator in Scheme
Topic Paper #13 - The Development of LISP
Topic Paper #12 - Object-Oriented vs. Imperative Programming
Topic Paper #11 - Object-Oriented Design
Topic Paper #10 - IBM 650 Emulator in Scheme Design
Topic Paper #9 - Report for the IBM 650 Emulator in Python
Topic Paper #7 - The Development of Smalltalk
Topic Paper #6 - The Development of COBOL
Topic Paper #5 - The Development of FORTRAN and ALGOL
Topic Paper #4 - IBM 650 Emulator in Python Design
Topic Paper #3 - The Von Neumann Bottleneck
Topic Paper #2 - IBM 650
Topic Paper #1 - History of Zero and One
IBM 650 Emulator
This program emulates the base-10 IBM 650, publicly released in 1954 and support for the computer and its components was withdrawn in 1969. A description of the IBM 650, how it was designed, and how it interpreted commands can be found in this Topic Paper. A discussion of the design for the Python emulator can be found in this Topic Paper, and a discussion for the Scheme emulator can be found in this Topic Paper. The final report for the Python emulator can be found in this Topic Paper, and the final report for the Scheme emulator can be found in this Topic Paper. The way commands are interpreted by the IBM 650 is also discussed in detail in the comments in the initial lines of the source files.Download Version 0.2 in Python 3 (or higher)
Download Version 0.1 in Python 3 (or higher)
Download Version 0.1 in PLT Scheme
Java vs. C++ Concurrency Benchmark
This project illustrates the use of concurrent programming practices in Java and C++ through the simple task of matrix multiplication. Using pthreads in C++ and the Thread object in Java, the coding shows the simplicity of concurrency in the languages and benchmarks the speed comparison. In summary, Java was much easier to implement and had a faster runtime than C++. A more detailed discussion of the design, implementation, and results from the benchmark can be found in this Topic Paper.Download Version 0.1 in Java (NetBeans Project)
Download Version 0.1 in C++ (NetBeans Project)
Sudoku Solver
This program will solve a Sudoku puzzle to any degree of difficulty received from an input file. The input file may be specified via an argument when launching the program, or if an argument is not specified the default filename “sudoku.txt” is used. This application solves using no efficiency algorithms, simply through brute force deduction. A discussion of the design, implementation, and testing of the Python Sudoku solver can be found in this Topic Paper.Download Version 0.1 in Python 3 (or higher)




