The Winter Scene project is a Turtle Programming project that is usually completed after the Code.org Turtle Programming lessons. The project is very similar to the underwater scene project from the TP lessons. However, instead of an underwater scene, you are going to create a winter scene.
This project is broken up into 4 stages each with their own challenges. Everyone is expected to complete all the tasks in STAGE 1. Once you complete the first stage, you should try to complete as many different tasks as you can in the following stages.
Scroll down beyond the stages to find the PREP section for this project.
Remember that Stage 1 should be completed by everyone.
Here are the items that the user should see drawn on your screen after you complete the first stage. I strongly encourage you to code the items in the order listed below.
Sky
Snowy ground
Sun
Clouds (which should have some transparency to them)
One Tree
One snowman (the snowman should have the following proportions: base: 100%, middle: 75%, head: 50%. No other details are needed for the snowman except for the three shapes)
Snow (minimum 100 pieces of snow that should have transparency and should show up in random positions each time you rerun the program)
Again, these are your minimum requirements for the WINTER SCENCE PROJECT. Complete all of STAGE 1 before you attempt any of the challenges from Stages 2-4.
Note: All items in this stage are optional. You may complete one item or all items. You choose what you want to incorporate.
This stage primarily focuses on how well you can modify your code to provide randomness in your drawings. This is an intermediate step to get ready for the challenges in Stage 3.
Try to improve your WINTER SCENE PROJECT by adding in the following structures:
Random (size, shape, position) of cloud.
Random (size, position) of tree.
Random (size, position) of snowman. (Note: the snowman still must maintain proper proportions)
Note: All items in this stage are optional. You may complete one item or all items. You choose what you want to incorporate.
This stage primarily focuses on how well you can incorporate a variety of looping structures into your code. This is an intermediate step to get ready for the challenges presented in Stage 4.
Try to improve your WINTER SCENE PROJECT by adding in the following structures:
Random (size, shape, position) of clouds (x3)
Random (size, position) of trees (x25)
Random (size, position) of snowmen (x3) (Note: snowmen must maintain proper proportions)
Note: All items in this stage are optional. You may complete one item or all items. You choose what you want to incorporate.
This final stage primarily focuses on adding more detail and depth to your WINTER SCENE PROJECT.
Try to improve your WINTER SCENE PROJECT by adding in the following structures:
Create Snowmen with features:
Eyes, hat, nose, arms, buttons, etc.
Black outline around outside of each snowman.
Keep the overall proportions of the snowman the same but add some variability (randomness) to the details:
different facial expressions: eye shape / style; mouth shape/style
different positions/angles of: hat, arms, etc. so that each snowman is slightly different from the others.
Position trees to show depth of scene: generally larger trees toward the front and smaller trees in the distance
Alter your code so that one snowman is always in the front (in front of all the trees) and the other two snowmen sitting among the forest of trees.
To get your project started off on the right footing, you need a solid plan.
If you plan well, the rest of your project usually runs smoothly. If you plan poorly, you will likely encounter a lot of frustration while trying to build and complete your project.
The Project Planning can be chunked into FOUR main steps:
Establish and set up your Programming Journal
Complete the Daily Entry section of Your Programming Journal (one entry completed for each day of the project).
Complete the Version Schedule in your Programming Journal (this should be completed prior to starting your first build).
Complete the "Prep" section of your Programming Journal (this should be done prior to starting your first build).
Note: be aware that you cannot make up any of your planning work after you begin your build. Once you've started your build, you have moved beyond the PLANNING phase (and beyond the ability to earn any more points for this portion of your project). Therefore, be sure you have completed all your planning steps before you begin working on any portion of your digital build.
Your programming journal is where you will document your project scope, your project planning and prep work, AND where you will keep a record of your daily reflections about your work/progress throughout the project cycle.
As soon as you get access to your PJ, your should complete your COVER PAGE.
Make a copy of the AP CSP Winter Scene Project: Programming Journal.
The directions for completing each section of the PJ are embedded throughout the programming journal document.
Use the AP Class Projects Submission Forms page to submit your PJ.
Follow the embedded instructions in your PJ to complete everything from the COVER PAGE through the VERSION SCHEDULE.
After you complete your planning/prep, you need to start working on your first build (draft) of this program.
Login to Code.org and go to your Dashboard.
On the top main menu click on the PROJECTS tab.
On the PROJECTS page. Scroll down and find the section that says, "START A NEW PROJECT." You will see four choices (Sprite Lab, Artist, AppLab, and GameLab).
Select the AppLab option.
On the top menu bar, click on the RENAME option and rename your file using the following naming convention:
ProjectName Version Semester LastName, First Name
Here are the details for this project:
ProjectName = WinterScene
Version = V.0.0.1
Semester = F22 (for Fall 2022)
LastName = [yourlastname]
FirstName = [yourfirstname]
If I was naming this project for myself, it would look like this:
WinterScene V.0.0.1 F22 Cross, John
Your project filename should look exactly like mine except it should have YOUR NAME at the end (not my name).
Now you are ready to start the next step in your iterative build process.
Building a programming project is a series of small, incremental steps. Because most programming languages are so exact, it is important that you constantly test your work to catch, and fix, all bugs as they happen.
There is no one right way to accomplish this. There are lots of options you can take to be successful. Follow your planning documents and maintain a "working" version of your build at all times.
While you do NOT need to build your program in any specific way, if you are having trouble getting started, I'd advise you to follow the steps that are laid out in the Version Schedule of your Programming Journal.
And always remember the following as you build any project:
Keep your functions simple. Have each function complete a very specific task.
As you test the program, call your functions from inside of the drawWinterScene() function.
Your program should "work" every step of the way. If you have a problem, fix it before you move on to the next step. ALWAYS. Never move on with a broken program.
Maintain proper indentation and whitespace as you go so you don't have to go back and do it at the end.
Maintain your coding comments as you go. Be sure to identify your purpose and function for all user created functions in your code.
Using your Version Schedule (VS) as your guide, you should attempt to tackle the next build on your list.
Once you have completed your task (from your Version Schedule (VS)), you need to test and make sure that your build is bug free and stable/working. If you find bugs, you must fix them before you move on.
If your build/task is stable and bug free, you need to make an archive of that build so that you will have it for future reference. It should be a snapshot of that moment in your project.
Do NOT continue to iterate an archived build.
Once you have archived your build, create a link to that archived build in your Version Schedule so that you can have quick access to it when needed.
At this point, you should review your Version Schedule (VS). Are you on track? Do you need to modify anything regarding your project? If you do, make those changes to your VS. If not, select the next task in your VS and repeat the steps above.
Continue this process every day until the project is over.
Formal Peer Evaluations are a whole-class project. When we complete these, you will follow the directions in the Peer Evaluations section of the AP CSP: Class Projects: Submission Forms Page.
Make a copy of the AP CSP: Winter Scene Project: Final Reflection and Self Evaluation document and follow the embedded instructions.
Navigate to the Final Reflection section of the AP Class Projects: Submission Forms Page to submit your work.