Read through this entire website. It is 3 huge pages. If you landed here via Google Search, look at the HOME page for the 10 Things Summer Assignment (for APCSP and APCSA. This is the extra credit assignment for APCSP students. If you are an APCSA student, or if you are an APCSP student -- you are not eligible for this assignment unless you complete the 10 Things Summer Assignment.
If you are an APCSP student, for the Extra Credit APCSP Assignment, you may use AI - artificial intelligence per the College Board's AI Policy for APCS Principles. Read up and have fun.
If you are being brave taking this computer science course, and you want an early bonus score (up to a 100 out of 100) in the project category, you can complete the Retro 80s Video Games from a Game Developer's Perspective Presentation.
You will turn in your presentation by the first Friday of school. If you are nervous about your programming abilities and if you turn it in, and if you also need an additional bonus because you are struggling first semester, we can then arrange for you to present your presentation in the last 4.5 weeks of the first semester. BUT! ONLY if you turned in before your first Friday of enrolling in the course.
Estimated time to complete 5-8 hours over the summer. 2 minute presentation if needed later in the semester.
This Summer Assignment has 2 parts - (1) research 70s to 80s to 90s games, compare and contrast from a developer's perspective (what's the language, platform, I/O, memory, graphics) and make a time-line of computer and arcade games. Keep track of your sources, because you'll create Citations Slides. (2) create a slide presentation imagining yourself as a game developer giving an overall history of gaming to a potential game development client who are non-programmers, and (3) Only if you need it, you might present your slide show live infront of the class for an additional bonus at the 13-week mark first semester. You are only eligible for this second bonus point opportunity if you have completed the presentation by the first Friday of the semester.
Part 1
Research, Evaluate, and Describe: Find online and play, or watch a video of the game play. Try your grandparents, a friend's, searching for 1980s or retro video games on computers or consoles. Some can be played on smartphones or your computer. Google "retro 80's style video/arcade games."
You might only be able to find videos of these games being played. If you can, spend some time trying to play some of these games online. Be mindful of your time, because these "simple" games from the 80's can be quite addicting.
You are evaluating these games from the perspective of a player first. Then look again to see the games from a researcher, a game designer.
You may count PacMan/Ms.PacMan as game variants, thus one game. You may count Snake/Worm (1972) & Centipede (1981) & Tron (1982) as variants of the same game, thus it is essentially one game.
You Need to Pick and Evaluate 3 video games from this list:
Look for these titles: Pong (1972), Breakout (1976), Space Invaders (1978), Asteroids (1979), Missle Command (1980), PacMan (1980), Frogger (1981), Donkey Kong (1981), Ms. PacMan (1982), Q*Bert(1982), Galega (1982), Pole Position (1982), Snake/Worm (1972) & Centipede (1981) & Tron (1982), Castle Adventure gameplay (PC Game, 1984), The Oregon Trail (1985) (video), Kings Quest I (1984) (walkthrough of gameplay), Tetris (1990), Minesweeper, Super Mario Bros. (1983-1985), Sim City (1989), Generally, stop at the 1989 Game Boy games. With a few modern exceptions: Chrome Dino Run, Angry Birds (2009) and Candy Crush (for the game design concept, not the graphics and modern sounds).
Part 2
Create a slide show presentation that you will present in front of the class:
The Title Slide of your presentation should have the 3 game's Names (year it was released), 3 images (an image of the game board and a character), your name, the class APCSP, and the date.
You'll need a pic of the main game board, or the first few levels, or a representative image of the gameplay for each of your three games. What repeats for each level and what changes?
Explain any commonalities you noticed among the three games.
You figure out how best to present your information. You need to discuss 3 to 4 of these games. Compare and Contrast the gameplay, controls, board or worlds, and include any variants.
Slides should include a pic of the main character/protagonist/player, the enemies/baddies/antagonist/traps, good things and bad things.
Note the simplicity or the complexity of the things in #4.
Note the inclusion or lack of a story.
Notice the written instructions compared to intuitive controls, building up of skill levels or increasing demands on the player.
Notice scoring, health, lives.
Include a description of the type of game - research these if you don't know what they are - board game, platformer, space shooter, driving, maze, farmer, collector, builder, etc.
On your last content slide, explain a few overall things, from these three games, that you might explore about game design by looking back at these 80s retro games.
Include all citations in MLA or APA format, using footnotes and citations slides as necessary for 12 point font. Use AI to cite AI searches properly. Note: AI Searches should include the searched phrase.
Part 3
This summer assignment is due the first Friday of the first week of class or by the first Friday you are in class first semester.
Take a CodeAcademy's "Programming Personality Quiz" and read about four broad types of programming jobs that are out there in the IT world. None are better than any other, but all work together in industry to create products and systems for clients and users.
What if I just REALLY want to work on something over the summer?
For my students who are the "worriers"; or for the students who think, "I must get ahead;" or for my students whose parents are making them prepare for their AP courses; or for my students who really do not have any ideas about what to do for fun this summer; or for my students who are unable to leave their houses because you are watching all of the little kids - I hear you. Here are some rabbit holes.
Here are some OPTIONAL things you can Google and go down the rabbit hole. They all will help you get started on those rabbit holes of deep exploration on a topic that is not 100% the content we are studying this fall and spring, but, they are interesting in their own way, and will help you have a different perspective on computer programming:
article: Why so many computer languages?
article: Why is block-based coding OK for MIT's Intro to Computer Science and VEX robotics?
Touch Typing - the skill I can master over the summer that will help me the most in computer language classes. If you type slower than 35 WPM, this is where to spend your time this summer.
Article Explaining the Benefits of Touch Typing. "Touch Typing for Kids: An Essential 21st Century Skill by Saga Briggs. January 7th, 2020". This is an academic (college-level read) article, "... to be a professional coder you have to be able to keep your eyes on the screen—so you’ve got to be able to type using muscle memory.”
Free touch typing resources: Typing Club is Ms. Miller's favorite typing program. It's free and online. If you (1) say out loud or under your breath and (2) put a small hand towel over your hands and really "feel" the fingers on the F and J keys with every key, then you will be touch typing with about 30 minutes of work a day. Once you reach 35 words per minute using real words, not the letter-only lessons, then you've reached the "good enough" stage of typing. If you are already, typing 30 words per minute, consider doing the course again and seeing how fast you can get including the symbol keys (shift+number keys, and the right-hand pinky keys). Typing Club has a few cheesy videos, but, as an adult, I've redone the course several times while teaching my students and worked myself up to 75 WPM.
I'm in APCSP or CSP next year. What can I do to familiarize myself, explore, and learn about the Create Performance Task? First, the CPT has a rubric. Learn the rubric. Live the rubric!!! Visit the AP CPT site for examples of projects that earned a 6 score down to a 1 score.
Column 1 is Create – It has sample videos, and then the student's sample written responses. The list is projects scoring from a 6 down to a 1 score.
Column 2 is the Scoring Guidelines (Rubric) for each of the categories (rows). This PDF lists what earns the credit, and what specifically prevents credit from being earned. It's binary. You get 1 point or 0 points for each row.
Column 3 is "Commentary" from an amalgamation of several graders on why each specific example scored a point for the category or why they did not. The "did not" is enlightening reading as much as the "earned" answers are. Read through all of the examples answers and commentary. Make yourself a little chart and figure out what is earning that point and what is not earning that point.
The CPT can be done in block-based programming or text-based programming. I teach the course using a variety of languages. Some are text-based Python, others are block. I also use hardware and text or block. There's even music -- Ear-Sketch is great for my music-inclined students. Here's the learn Ear-Sketch Pages. For my retro games students, you may prefer Microsoft MakeCode Arcade. Microsoft MakeCode Arcade looks deceptively simple.
Many students who come in already knowing how to text-based languages may think Microsoft MakeCode Arcade or other block-based code is beneath them. They are usually wrong. Block-based options these days are quite complex and can do many things that text-based can accomplish.
The CPT is NOT a creative endeavor. It has a specific rubric and you are supposed to meet that rubric. All other programming that goes beyond the rubric, will only hurt you. The graders for the CPT are not interested in you showing off your skills. This is one of the reasons I disagree with giving too many rubrics, because they are minimums. There will be plenty of opportunities for you to show off and be creative, but the CPT is not one of those places.
The CPT is NOT supposed to be a recreation of game that will make you money, or that is necessarily fun to play. You are asked to show specific things, in any number of ways, and be able to explain it, show it, and why you used it. Just including a list and stating that you used that list to manage complexity, and then failing to actually use the list to manage complexity, adds nothing to your score. Some of my best coders showed they were not programmers. Coders can hash out syntactically correct code, but they miss the overall purpose and fail to meet the customer's requirements and expectations. Programmers are coders who can also understand the overall purpose of the task and meet the customer's requirements and expectations. Because the client/audience is the AP test graders, you as the programmer must meet their specific things. They ask for specific things. If you make a pretty program or a fun game, but fail to include something required, or can't explain the parts, or why you used certain control structures, then your client (AP Graders) is not going to pay you in points like you want them to do.
Why are entrepreneurial skills important in computer science?
How can I leverage my math and science skills with computer programming?
What jobs are there that are NOT computer programming but still in IT,
What does IT / Internet Technology, Computer Science, and all these terms mean?
What is the Agile? What are the Scrum Methodologies? Why are we learning them in a computer science course?
What is the software development lifecycle and why is it important to understand and use it?
What is the Computer Science Honors Society?
Why Join the CTSO called TSA or Technology Student Association?
Joining TSA, especially as an officer gives you more than your 4.5GPA and 1500+ on the SAT. Everyone applying to the top schools has that, therefore that level of academic achievement is not enough to be competitive for the top schools like GaTech. That becomes the minimum necessary but it is not sufficient. What is? You have to stand out with things that are recognized as more, adjacent, adding value to the campus or world. Some kids join every club they can, but do nothing in those clubs. CTSOs are Career Tech Service Organizations and they are co-curricular. The adults feel that these are more than extracurricular clubs, so much more that we teachers spend time IN CLASS, so they are called co-curricular and there is an extra, outside of school time component as well. State TSA Competition winners have an item on their resume that demonstrates more than just showing up to class and passively earning a grade. There is so much more demanded of students in the TSA activities, and college admissions officers know that. Whether the activity you choose to engage in is service as an officer, competition, multiple competitions, teamwork, robotics, or other STEM competition. VEX Robotics has many additional opportunities.
The Technology Student Association (TSA) is a national organization for middle and high school students interested in STEM (Science, Technology, Engineering, and Mathematics) fields. It provides students with opportunities for skill development, leadership, and community involvement. TSA's goal is to inspire students to pursue careers in a technology-driven economy.
Here's why students and teachers should consider joining TSA:
STEM Focus: TSA provides students with the opportunity to explore various STEM fields through competitions, projects, and activities.
Leadership Development: TSA offers leadership opportunities within chapters, at local, regional, and national levels.
Skill Development: Students can develop their technical skills, communication skills, and teamwork skills.
Networking: TSA provides opportunities to network with other students, teachers, and industry professionals.
Community Service: TSA encourages students to engage in community service projects.
Recognition and Awards: TSA recognizes student achievements through scholarships, awards, and honor societies.
Fun and Engagement: TSA offers a variety of fun and engaging activities that make learning enjoyable.
TSA is a valuable resource for students and teachers interested in fostering STEM skills, leadership, and a love for technology.