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.
Numbers | ||||
---|---|---|---|---|
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 |
Beginning Python | ||||
---|---|---|---|---|
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 |
Python Boss Statements | ||||
---|---|---|---|---|
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 |
Repetition and Iteration | ||||
---|---|---|---|---|
Name | Description | Assigned | Due | Points |
loops.py | Basic loop practice | 25 |
Algorithms | ||||
---|---|---|---|---|
Name | Description | Assigned | Due | Points |
sorts.py | Implement minisort and gnonemsort. | 30 |
Introducing Java | ||||
---|---|---|---|---|
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) |
Classes and Objects | ||||
---|---|---|---|---|
Name | Description | Assigned | Due | Points |
Python → Java | ||||
---|---|---|---|---|
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 |
BigFraction and Building an API | ||||
---|---|---|---|---|
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.
Lab Practical Materials | ||||
---|---|---|---|---|
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. |
BigFraction and Building an API | ||||
---|---|---|---|---|
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.