In progress grades, final progress report grades, and end-of-semester grades are all posted in Infinite Campus. Ignore any grade information that appears in Schoology or Google Classroom - it is rarely accurate. Infinite Campus is the ONLY place that records your actual grades for this class.
You will do a lot of work in this class. Only some of that work will factor into calculating your overall grade. Many assignments that you complete will be marked for CREDIT (you submitted the assignment) rather than scored for points.
To distinguish between these two types of "work," we use the words ASSESSMENTS and ASSIGNMENTS:
Assessments: the work that is assessed, scored, and always factored toward your final course grade.
Assignments: Work will be occasionally spot-checked for points but much of this work we do to build your skills and confidence to get you ready for your assessments.
Think of it like competitive sports. You spend time in multiple practice sessions before your match. The practice sessions are designed to best prepare you for your contest. Practice sessions give you the opportunity to improve your skills and get feedback so that you can be fully prepared on game-day.
Your work is primarily assessed on a mastery system using rubrics. While rubrics are individualized for each particular assignment/lab/project/assessment, the general format is a 6-point rubric (including 0) that is generalized like this:
5 = Extensive demonstration of skills/standards
4 = Strong demonstration of skills/standards
3 = Convincing demonstration of skills/standards
2 = Inconsistent demonstration of skills/standards
1 = Limited demonstration of skills/standards
0 = Incomplete, Not Turned In, Missing, No Credit.
Since all formally scored assignments/projects/assessments (etc.) are converted to our six-point rubric (0-5), the traditional grading scale (90, 80, 70, 60, etc.) no longer works.
For example, if a student repeatedly demonstrated STRONG skills, they would receive a score of 4 on the rubric. If we translated that back to the traditional grading scale, 4 out of 5 equals 80%. On a typical grading scale, 80% is a very low B. Normally, we don't consider a B- as showing STRONG skills.
So we need to use a grading scale that more closely matches our class rubric. Here's is the "%-scale" for your class grades:
85% = A
70% = B
50% = C
30% = D
As a general rule, additional EXTRA CREDIT work (for make-up points) is not offered in this class. Please do not ask for it. Do the work that is assigned.
The work provided/assigned is the work that we feel will give you the best educational experience. Do THAT work. Do it faithfully. Submit your work ON TIME. Do those three things and your grade will generally take care of itself.
Occasionally, optional assessments are offered. When an assessment is OPTIONAL, there will be special instructions on the assignment for how you can OPT OUT of that particular assessment, if you so choose. Opting out does NOT mean that you don't turn in anything for that assignment. Every students always submits something for every assessment. ALWAYS. You either follow the directions for the assessment OR you follow the directions for opting out.
Failure to submit a properly completed document will always result in a MISSING ("0") score.
If you choose to complete an optional assessment, it will be graded just like any other assignment. If your overall grade is low, and you do well on your optional assessment, it can raise your overall grade. However, it is still an assessment. If you do poorly, it can still hurt your overall grade.
If a student opts out of an optional assessment, they will be excused from that assignment and it will not factor in the calculation of the overall class grade.
Generally speaking, if you don't have an A in the class, you should be doing all your optional assessments.
Your overall grade is based on a weighted-category system as outlined below. These are the types of cross-over computational knowledge you should have and skills you should be able to do.
No, that is not a typo. All assignments in this category do NOT affect a student's grade.
Most of what we do falls under this category. We do a lot of practice work before we have assignments that are assessed in the categories listed below. This gives students the opportunity to practice their knowledge and skills BEFORE we do an actual assessment.
Most of your larger assessments in this class are projects. How well you prep for a project goes a long way to your success in that project. Part of good prep work is showing how well you incorporate your recent class experiences (current lessons/concepts) and your previous experience from earlier projects to make a better "build."
Do you do things like:
Create a sketch of screen UI elements
Create a working paper draft of expected UX interactions and events
Decompose (break down) problems into smaller, manageable subproblems to facilitate the program development process (project versioning)
Decompose (break down) the steps needed to solve a problem into a precise sequence of instructions
Use flowcharts and/or pseudocode to address complex problems as algorithms
Create a working interactive paper prototype before building your code
Create test environments to work out difficult programming patterns/algorithms before trying to incorporate those elements into your build
Seek feedback on your prototypes before beginning your build
Conduct proper research and practice before trying to incorporate more advanced elements into your build
A big chunk of your grade is how well you complete your project. In this case we are talking about the final version - not the process of completing your project. Does your project work? Did your project meet the stated goals? Have you demonstrated that you incorporated good computer science design principles in your build?
Can you do things like:
Create a computational artifact with a practical, personal, or societal intent.
Selecting appropriate techniques to develop a computational artifact
Develop programs with sequences and simple loops, to express ideas or address a problem)
Create programs that use variables to store and modify data
Create programs that include sequences, events, loops, and conditionals
Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals
Create procedures with parameters to organize code and make it easier to reuse.
Modify, remix, or incorporate portions of an existing program into one's own work, to develop something new or add more advanced features
Using appropriate algorithmic and information management principles.
Collaborate with another student in building an artifact
Share the workload by providing individual contributions to an overall collaborative effort
Maintain a daily programming journal during the life of the build
Collect data using computational tools and transform the data to make it more useful and reliable
Being able to critically evaluate, analyze, and assess your own work is a big part of this class. Identifying problems and understanding what needs to be done to improve your project is a skill we will work on all year long.
Can you do things like:
Identify abstractions and make suggestions for creating or modifying abstractions.
Compare and refine multiple algorithms for the same task and determine which is the most appropriate
Evaluate the merits of a proposed solution to a problem and/or justify appropriateness of a solution, model, or artifact.
Test and debug (identify and fix errors) a program or algorithm to ensure it runs as intended
Collaborate with another student to solving a computational problem
Foster a constructive, collaborative climate by resolving conflicts and facilitating the contributions of a partner or team member
Exchange knowledge and feedback with a partner or team member
Review and revise work as needed to create a high-quality artifact.
Recommend improvements to the design of computing devices, based on an analysis of how users interact with the devices (make them more usable and accessible)
Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs
Seek and incorporate feedback from team members and users to refine a solution that meets user needs
Being able to critically evaluate work (your and others) AND being able to clearly communicate your thoughts about those evaluations and improvements is your last major skill in this class.
Can you do things like:
Clearly identify impacts of computing.
Clearly describe connections between people and computing (both the good and the bad).
Clearly explain connections between different computing concepts.
Clearly communicate your programming intentions in your code by using effective whitespace/indentations, embedded comments, and semantically clear naming conventions.
Explain how data, information, or knowledge is represented for computational use.
Explain how abstractions are used in computation or modeling.
Describe modeling in a computational context.
Explain how an artifact functions
Explain the meaning of a result in context
Explain how abstractions hide the underlying implementation details of computing systems embedded in everyday objects
Describing computation with accurate and precise language, notations, or visualizations
Summarizing the purpose of a computational artifact.
Create clearly named variables that represent different data types and perform operations on their values
Work respectfully and responsibly with others both in person and online
Give attribution when using the ideas and creations of others while developing programs
Using correct terminology, describe steps taken and choices made during the iterative process of program development
Organize and present collected data visually to highlight relationships and support a claim
Describe choices made during program development using code comments, presentations, and demonstrations
Document programs in order to make them easier to follow, test, and debug.
Unlike the other skills-based categories, this grade category represents a more traditional knowledge-based category. Can students demonstrate that they learned some of our specific programming structures.