- ✨ Quick Task List
- 🧗 Introduction
- 🚧 Honor Code
- 🌐 Assessment Overview
- 🔬 Assessment Details
- 📙 Learning Objectives
- Read the
Introduction
section for a brief overview - Read the
Honor Code
section and then digitally sign your pledge - Complete the requested programming tasks in the
assessment.py
file - Type
python source/assessment.py
in the terminal to run the program - Type
gatorgrade
in the terminal to assess the quality of the solution - Frequently use Git to
commit
andpush
your work to the repository - Complete all of these tasks through the use of GitHub Codespaces
- Use the Chrome, Chromium, or Edge browsers to run GitHub Codespaces
- Read all of the content in this
README.md
file for more details - Ask a professor if you have any questions about this assessment
- Complete as much of the assessment as you can in fifty minutes
If you are a student completing this assessment as part of a class at Allegheny
College, you will need to complete the programming tasks according to the
instructions inside of the assessment.py
Python source code file in the
source/
directory of this repository. If you have questions about this
assessment, please see the course instructor during the assessment time period.
You must read and ensure that you understand all of the instructions in this
file before starting the assessment.
TODO: You must delete the words after the TODO marker and add your name to the subsection header
- You must adhere to the Honor Code throughout your completion of the assessment
- You must answer all of the questions in the assessment using your own source code and documentation
- You must use your laptop computer and the web-based GitHub Codespaces development environment
- You may use any software development tools that are available to you through GitHub Codespaces
- You may use any automated code and/or documentation generation tools to which you have access
- You must cite the source of any program code or documentation generated by any software tool
- You must cite any references that you consult to aid you in completing this assessment
- You may not discuss any aspect of the assessment with anyone except the course instructor
- You may not modify any part of the provided source code in the
evalugator/
directory
IMPORTANT: All students in this course are obligated to adhere to the Allegheny College Honor Code throughout the completion of this assessment. If the instructor detects that a student has committed a likely violation of the Allegheny College Honor Code, this will result in the filing of a report with the Dean of Students Office and the furnishing of all details about the likely violation. Please make sure that you review the Allegheny College Honor Code before you start to take this assessment.
🌟 Re-type the sentence "I adhered to the Allegheny College Honor Code while completing this assessment."
TODO: You must retype the sentence here in order to digitally sign your pledge.
IMPORTANT: If you do not type the required sentence then the course instructor will not know that you adhered to the Allegheny College Honor Code while completing the assessment.
- Assessment Released: At the start of your class session
- Assessment Due: At the end of your class session
Please note that your git push
access to the GitHub repository containing
the assessment will be disabled after the assessment's due date.
- The assessment is out of a total of 100 percent, with an automatically reported percentage.
- You must provide answers to all these questions by typing in the
assessment.py
Python source code file. - The final version of the Python source code file must be in your GitHub repository by the due date.
- You may run the provided Python program in the GitHub Codespaces terminal by using the
python source/assessment.py
command. - You may run the automated assessment in the GitHub Codespaces terminal by using the
gatorgrade
command. - Unless you already made special arrangements with the instructor, no late work will be accepted for this assessment.
- You may review details from running the automated assessment in GitHub by using the GitHub Actions tab.
- You may talk to the course instructor if you have questions about or you need troubleshooting help with this assessment.
After accepting the assignment and opening it in GitHub Codespaces, please follow these instructions:
- Study the instructions and source code for the assessment that are available in this file:
assessment.py
- For each file there are six sub-parts, denoted as
Part One
throughPart Six
in the provided Python source code. - Following the instructions for each sub-part, you should provide and/or modify the requested function(s) so as to ensure that they meet the specification. When you read the commented source code for each sub-part you will see examples of what output the requested function will produce when it is provided with the given input(s).
- Generally, the instructions for each sub-part will invite you to write, repair, or reorder the requested function.
- Using a terminal window in GitHub Codespaces, you can run the assessment program by typing the following command from
the root of this GitHub repository:
python source/assessment.py
- When you run a program in the terminal window using the aforementioned command, each of the assessment's sub-parts will produce a single line of output.
- Using a terminal window in GitHub Codespaces, you can assess your work and see the status of each check by typing the
following command from the root of this GitHub repository:
gatorgrade
- Using the comments in the source code as a guide, you can confirm that the functions are producing the expected output.
- After committing and pushing your code, you can review the output from running GatorGrader in GitHub Actions. If one of the functions is not producing the correct output and/or one of the GatorGrader checks is not passing correctly, you may make an unlimited number of re-attempts during the time designated for completing this assessment.
- Please completely delete the
TODO
markers and their labels from all of the provided source code. This means that instead of only deleting theTODO
marker from the code you should instead delete theTODO
marker and the prompt and then add your own comments to demonstrate that you understand all of the source code in this assessment.
The work that you complete for this assessment will not in any way influence your grade in the Computational Expression course. You are taking this assessment to measure achievement of the following learning objectives necessitated by Program Outcome 1 for all majors offered by the Department of Computer and Information Science. Please review the following explanations for more details.
-
Learning Objectives for the CMPSC 100 Course:
- LO1: Apply Python programming fundamentals to execute and explain computer code that implements interactive, novel solutions to a variety of computable problems.
- LO2: Implement code consistent with industry-standard practices using professional-grade integrated development environments (IDEs), command-line tools, and version control systems.
- LO3: Analyze and suggest revisions to existing Python language code to add functionality or repair defects.
- LO4 Evaluate the practical and ethical implications of writing computer code and discuss the contexts, perceived effects, and impacts exerted on and by computer code as a cultural force or artifact.
- LO5: Design, describe, and implement original projects incorporating industry-standard practices and Python language fundamentals.
-
Program Outcome 1 for the Computer Science Major:
-
PO1: Demonstrate and be able to communicate the knowledge of data types, algorithms, and mathematical principles behind discrete objects.
-
Covered By: LO1
-
-
Program Outcome 1 for the Data Science Major:
-
PO1: Effectively collects, organizes, analyzes and interprets both structured and unstructured datasets from diverse sources.
-
Covered By: LO1, LO3
-
-
Program Outcome 1 for the Informatics Major:
-
PO1: Demonstrates and articulates the distinct concerns of computational approaches to understanding information as cultural, political, and economic material.
-
Covered By: LO4
-
-
Learning Objectives for the Software Engineering Major:
-
PO1: Effectively design, implement, evaluate, improve, and document a solution to a problem delivered as a maintainable software system.
-
Covered By: LO1, LO2, LO3, LO5
-