TODO: You must indicate that you completed each of these tasks by
placing a capitalized letter X
in the [ ]
symbols for each point.
TODO: Please place the capitalized letter X
only after you
have completed the designated task.
- Read the
Introduction
section for a brief overview - Read the
Honor Code
section and then digitally sign your pledge - Keep a running list of your sources in the
Honor Code
section - Read all of the content in this
README.md
file for more details - Complete the requested programming tasks in the files in the
exam/questions/
directory - Type
gatorgrade
in theexam/
directory to assess the quality of your solution - Review the source code files in the
exam/tests/
to see all of the checks - Review the
exam/gatorgrade.yml
to see all check commands used to assess your work - Frequently use Git to
commit
andpush
your work to the repository - Adhere to all of the restrictions and regulations stated in this document
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 Python source code files in the exam/questions/
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 Student Name
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 development environment you setup on your laptop
- 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
exam/tests/
directory - You may not modify any part of the provided source code in the
exam/gatorgrade.yml
file
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 examination."
TODO: You must retype the sentence here in order to digitally sign your pledge.
"I adhered to the Allegheny College Honor Code while completing this examination."
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.
TODO: Please list here the sources that you consulted while completing the examination!
- Examination Released: At the start of your session
- Examination Due: At the end of your 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 Python source code files.
- The final version of the Python source code files must be in your GitHub repository by the due date.
- You may run the automated assessment in your terminal window by using the
gatorgrade
command. - Unless you already made special arrangements with the instructor, no late work will be accepted for this assessment.
- Unless you already made special arrangements with the course instructor, you must complete the examination in Alden Hall.
- Unless you already made special arrangements with the course instructor, you must not take any examination materials or your laptop computer out of Alden Hall when completing the examination.
- You may review details from running the automated assessment in GitHub by using the GitHub Actions tab.
- Your final score for this assessment is subject to revision following review by the course instructor.
- You may talk to the course instructor if you have questions about or you need troubleshooting help with this assessment.
The Algorithm Analysis class enables a student to fulfill the requirements for the QR and SP distribution requirements, as described below.
-
Quantitative Reasoning (QR): Quantitative Reasoning is the ability to understand, investigate, communicate, and contextualize numerical, symbolic, and graphical information towards the exploration of natural, physical, behavioral, or social phenomena.
-
Learning Outcome: Students who successfully complete this requirement will demonstrate an understanding of how to interpret numeric data and/or their graphical or symbolic representations.
-
Scientific Process and Knowledge (SP): Courses involving Scientific Process and Knowledge aim to convey an understanding of what is known or can be known about the natural world; apply scientific reasoning towards the analysis and synthesis of scientific information; and create scientifically literate citizens who can engage productively in problem solving.
-
Learning Outcome: Students who successfully complete this requirement will demonstrate an understanding of the nature, approaches, and domain of scientific inquiry.
Allegheny College’s educational program is designed so that its graduates are able to:
-
AC-1: Think critically and creatively.
-
AC-2: Communicate clearly and persuasively as speakers and writers.
-
AC-3: Invoke multiple ways of understanding to organize and evaluate evidence, and to interpret and make sense of their experiences and the experiences of others.
-
AC-4: Apply their knowledge and learning to engage in informed debate, and to analyze and solve problems.
Computer Science 202 at Allegheny College is a core course in the Computer Science major. Graduates with the Computer Science major, who all take the Computer Science 202 course, must demonstrate their attainment of these learning objectives:
-
CS-1: Demonstrate and be able to communicate the knowledge of data types, algorithms, and mathematical principles behind discrete objects.
-
CS-2: Use scientific and theoretical methods to design, implement, evaluate, deploy, improve, maintain, and document software and hardware systems.
-
CS-3: Apply and articulate key concepts from a specialization area where the interconnection between software and hardware is important and evident.
-
CS-4: Able to communicate technical details of the produced software and hardware artifacts both in writing and orally.
All five of the Computer Science major's learning objectives support the QR and SP distribution requirements and the College's learning objectives.
The specific learning objectives for Computer Science 202 are as follows:
-
CS-202-1: Correctly implement both well-established and custom data structures using a programming language so as to solve a problem with a computer program.
- Enables the attainment of CS-1.
-
CS-202-2: Perform an asymptotic analysis of an algorithm to arrive at its correct worst-case time complexity class.
- Enables the attainment of CS-2.
- Enables the attainment of CS-4.
-
CS-202-3: Conduct experiments that measure the efficiency of different combinations of programming languages, data structures, and algorithms.
- Enables the attainment of CS-3.
-
CS-202-4: Use both theoretical and experimental results to pick the data structure(s) and algorithm(s) that balance the trade-offs associated with correctly and efficiently solving a problem with a computer program.
- Enables the attainment of CS-2.
-
CS-202-5: Effectively apply algorithmic problem solving techniques like searching, sorting, and memoization to correctly and efficiently solve a problem through the use of a computer program.
- Enables the attainment of CS-1.
The learning objectives for Computer Science 202 enable the attainment of the CS program learning objectives that in turn support the attainment of the College's learning objectives.