The Specs Page for 4240, 2021S1

Programming Assignments

Materials for major assessments or assignments can be downloaded here. Items are organized by chapter and each chapter has an index page displaying its contents as well. Due dates and grading particulars are posted here.

Name Description Assigned Due Points
Convert Between Bases This is a chance for you to try your hand at base conversion before I give a quiz. 4 Feb 8 Feb 10
Q0 Canvas quiz on base conversion. Reading material is present on Canvas. Know how to convert bases and know basic facts about ASCII. 8 Feb 8 Feb 24
Name Description Assigned Due Points
lab1.html You will do scietific calculations using the Python REPL. 4 Feb 24 Feb 20
bit_players.html Figure out what bin, oct, and hex do. Figure out what ^, &, and | do. Convince me you are right. 4 Feb 24 Feb 20
Number Types Quiz This will occur the week of 8 Feb. Reading + assignments are great preparation. 12
boolean.html Deduce the order of the operations and, or, and not in Python, and justify your conclusions. 26 Feb 20
string_play.py You will do various manipulations on strings. 5 March 25
Scalar Types Quiz 11
to_the_moon.py You will get some practice doing Python input and output. This is a fairly easy 40 points. 5 March 40
Name Description Assigned Due Points
easy_functions.py These are pretty straightforward functions for you to implement. They use a little conditional logic. Once you have seen conditional logic in class, plunge ahead. Some of them are just simple applications of built-in functions, string methods, or string slicing. 12 March 30
medium_functions.py These are pretty straightforward functions for you to implement. They use a conditional logic, and string and tuple methods. 12 March 35
harder_functions.py These are pretty straightforward functions for you to implement. They use a conditional logic, and string and tuple methods. 12 March 35
Name Description Assigned Due Points
loops.py Basic loop practice 25
Name Description Assigned Due Points
sorts.py Implement minisort and gnonemsort. 30
Name Description Assigned Due Points
Puzzler.java You will translate a Python program that has only a main routine into a Java program with only a main method. Both programs should produce identical output. Here is the Java API guide. 15 April 2021 23 April 2021 36 (3 each problem)
Name Description Assigned Due Points
Name Description Assigned Due Points
Lists.java These are exercises in using the ArrayList class in Java. 29 Apr 25
Big.java These are exercises in using the BigInteger class in Java. 29 Apr 25
Name Description Assigned Due Points

Lab Practicals

There will be two or three. You will have access to your notes, the class notes, and documentation. During these, you cannot engage the help of intelligent agents such as other people, or programming forums such as StackOveflow. Shell files will be provided to save you typing.

Lab Praticial Grading Problems 1 and 2 show basic proficiency. Get 'em and you have a B-. Problems 3 and 4 show intermediate proficiency, get one of 'em and you have a B, both a B+. Getting 5 and 6 puts you in the A range. The problems will escalate in difficulty as you progress.

Name Description Assigned Due Points
practice LP0 Do this so you get used to the questions.
LP0 This page has complete directions and shell code for you to download or copy-paste.
Name Description Assigned Due Points

LP0 This will occur after the unit on boss statements. You will get a file with stubbed-in function headers and docstrings telling you what the functions are to do. Your job: code the functions as specified. You are encouraged to write test code to check them out.

Practice LP0 Here it is. The shell code you get for the real thing will look just like this.

LP1 This will occur after the unit on algorithms. You will get a file with stubbed-in function headers and docstrings telling you what the functions are to do. Your job: code the functions as specified. You are encouraged to write test code to check them out.

LP2 This will occur after the unit on Python → Java. You will get a file with stubbed-in method headers and docstrings telling you what the functions are to do. Your job: code the functions as specified. You are encouraged to write test code to check them out. This will test your ability to read the Java documentation and use it to solve problems.

Final Project

This is a culminating exercise for the class in which you write a complete working application that does something of use. This can include such things as system utilities, programs tht process and display data, games, or puzzles. You can work solo or with a group of up to three people. There are some important steps you must complete.

Proposal You will write an HTML document that will describe your proposed project. If you develop a specific interest during the term, you can write a proposal and recruit partners. I can make these proposals available to both blocks of the class.

Your app can use other peoples' code as long as you grant proper credit. You are encouraged to explore libraries and resources not covered in class and you can bring them to bear on the problem you are trying to solve.

As partnerships are registered, a table listing them will be created on this page.