My solutions for CS441: Organization of Programming Languages at Butler University. The goal of this class was to dive deep into the pieces of programming languages and even explore new languages, such as logical programming languages, like Prolog, and functional programming langues, like ML.
The goal of Assignment 1 was to explore C++ and Java through the lens of four evaluation criteria: Readability, Writability, Reliability, and Cost. First, I wrote a program to sort 10 integers in order from smallest to largest in C++. Then I wrote the same program in Java. Then I wrote a report to compare and contrast these two languages using the above criteria.
Assignment 2 explored enumerations and pointers. The first part of the assignment was to write a program in both Java and C++ to calculate the amount of change given in a transaction using enumerations. The second part of the assignment was to rewrite the program from the first assignment in C++ using pointers explicitly to store the numbers that need sorted. The third part of this assignment was to write a report discussing the use of enumerations in both languages, as well as the implemtation of pointers and arrays in C++.
The goal of Assignment 5 was to explore a new language, Prolog. This assignment explored a few different uses such as family trees, sublists, and insertion sort. Then, I wrote a report about how I wrote my Prolog code and how I arrived at those answers.
Assignment 6 allowed me to explore another new language, Standard ML (SML). This assignment involved writing a function to compute the Greates Common Divisor of 2 numbers, reversing a list of elements, and performing insertion sort on a list of intergers. Then I wrote a report to discuss my SML code and how I arrived at those answers.