Computer Science Summer Work for APCSP
Advanced Placement Computer Science Principles
Required Summer Work for Computer Science Courses APCSP
3 required assignments.
Optional Assignments Follow
Assignment #1: Send and Recieve a Professional Email
Estimated time to complete <20 minutes
This assignment is about following directions precisely as much as it is about meeting employment skill standards.
Background Reading before completing the assignment:
Professionals in every field including computer science, send and receive a lot of emails. It is not uncommon for me, as a teacher, to send and receive 50 to 60 emails a day on a normal day. Last year as a senior co-sponsor, leading up to an event, I was receiving 100+ emails a day starting at 5:00 AM and ending about 10:45 PM. Some jobs have more, or less, but they all have some level of emails.
Formal. The first email to anyone you send in your professional capacity should be formal.
Signature File & Customization: You MUST include enough information in your signature to "get back to you" with a meaningful response. Signature Files are the standard block of text at the end of all outgoing or new emails sent from your account. You can have a longer standard sig file, and delete parts customized to the recipient or subject.
Subject Line: You MUST include a meaningful subject line. Many professionals scan email subject lines, at 5:00 AM or 6:00 AM, on their phones to see what fires are going to happen that day when they walk in the building. Those subject lines become what is searched for when you are sifting through thousands of emails for that one person's contact information. Text readers "read" subject lines to sort and prioritize emails. Emails without subject lines go directly to SPAM in some settings.
Professional Emails vs Personal Emails: Emailing like a professional is one of the most important skills to learn for employment purposes. Yes, this course is about computer science, programming, entrepreneurship, and business skills. You will start and continue emailing from your "work" email which is your school email. I have to do this as an employee of Dekalb Schools. All professionals must comply. If you are in a government job, or a medical job, your use of personal emails can be punishible by loss of job, and even jail time. It is not a game.
Maintaining both and keeping them separate: I maintain several personal and other business email accounts. You should learn how to do the same as an employment skill. Your employer is not going to send documents to your personal email when they give you a professional email address. There are all sorts of reasons for that, but in business, understand that you will NOT be able to use your personal email instead of your official work email, just because it's easier for you.
Personal email addresses: There is a time and place for types of personal email addresses. Your personal-professional email should not be something that is NOT controversial or unprofessional. Examples of unprofessional or controversial email names that you NEVER want to use for a personal-professional email address include: SkipNclass2014@gmail.com, gun_runner007@max2.com, Money4Nuttin@yahoo.com, PenutButterNJelly12@gmail.com, HackerBoy14@idiot.com, dumb_j0ck24@email.com, and gamerKingkiller@favgame.com are just not going to work in a personal-professional world. You will notice that you can have those personal names, so long as you keep them to personal matters. Personal-professional email address you will develop over time for things like sending resumes, or professional inquiries, for times when you are between jobs or schools and applying for jobs or school scholarships, or when you have kids and you put your email address on their school file. Here are a few personal-professional email names: alice_stratmore2028@gmail.com JDsMom2345@gmail.com TheSteinerFamilyMom4@gmail.com TheSteinerFamilyDad2@gmail.com . Record yourself spelling out on the phone your personal-professional email address and see if it's obnoxious, complicated, or confusing. People expect some kind of names, initials, underscores, and up to 4 or 5 numbers in personal-professional email addresses.
Your Task:
Send an email FROM: your school email address (ex. S91234567@dekalbschoolsga.org), AND CC: your personal email address (or the other way around, SEND: from your personal email address and CC: your school address).
SEND: to Ms. H. Miller an email TO: heather_miller@dekalbschoolsga.org .
This email should be a professional email.
Professional email means you should write in complete sentences. Use proper punctuation and capitalization. Refrain from using slang, emojis, or acronymns like YOLO, or TTYL, or LOL.
Subject Line: Include in the subject line:
APCSA 22-23 - Professional Email from YourFirstName and LastName
APCSP 22-23 - Professional Email from YourFirstName and LastName
The BODY of the email should contain the following:
Your full name as it appears in Infinite Campus. Ex. My name in Infinite Campus is Lilly Star McKinnon-Ugbo
Your name you want to be called when I call roll. Ex. I would like you to call me "Star" for roll call.
One or four sentences about your interests
related to computers, computer programming, computer gaming, entrepreneurial skills you've already started developing, etc.
This is where you'd tell me you are brand new to programming, never programmed before, did some block stuff for Hour of Code in third grade, know a little bit of programming, know a lot about programming, program my team's VEX robot, have won programming competitions, what programming languages you know (dabbled, beginner, beginner+, intermediate, intermediate+, expert, pro). Include any technology projects you have done. If you already have a website, personal portfolio, or a blog include the link in this section.
A paragraph about your interests in things NOT related to computer programming.
What sports, activities, hobbies, music, art, BoyScouts, GirlScouts, Vex Robotics, Yearbook Staff, Newspaper Staff, Interact, service organizations, clubs do you plan to join? Have you done anything interesting over the summer?
Do you have an after school job? How many days a week, weekend?
Why did you decide to take this course?
What is your biggest fear about taking a computer science course, if any?
Your courses you plan to take this semester. Ex. AP English, AP Calc AB, AP US History, Newspaper Staff, PE, AP Bio, AP Computer Science Principles. I might take Dual Enrollment Biology and English replacing AP English and AP Bio. I still haven't decided yet if the schedule will work for my family.
Include in the "Signature" or "Closing section"
Sincerely,
YourFirstName and LastName (pronouns if you wish)
APCSA / APCSP Student
Chamblee High School, Class of 2023
Assignment #2: Notetaking in CS - Yes or No? YES YES in a paper notebook
Estimated time to complete <3 hours to watch the videos and gather your supplies
There is a great debate amongst students, and sometimes teachers, regarding taking notes or not taking notes in school. Some subjects lend themselves to certain types of note-taking or other activities. Taking notes and being successful in a computer science course is probably different than other classes you've been successful at thus far in your schooling. There is theory and memorization of stuff you need to memorize and manipulate later on - both of which you know how to take notes on and memorize for an exam. Then there is syntax, which you also probably need to somewhat memorize for exams - which you know how to take notes on and memorize for an exam.
Then there is the application -- the problem analysis and decomposition, communication with your team and client, problem-solving (creating the algorithms), explanation of your process (commenting code), writing the actual code (includes debugging), and then testing it against the original problem analysis.
You will not "memorize" your way through the application. You must understand all of the stuff you memorized and put it together, practice, try and err, and try another thing. Debugging and reading error messages is a skill unto itself.
Presenting to a client where your project is and where you expect it to be at a later date is an important skill. Explaining code to non-coders, a.k.a. clients is very important. Creating documentation or videos, or tutorials for your product are client-driven. It is important to understand that programming is more than banging out code "the way you want to do it" because as a junior programmer, you will have to integrate into existing systems most likely. As you switch from one job to another, you will work on teams already in progress, with things already defined, and you will slow the team down by creating code the way you like it. Finally, if you write a system or part of code that only you know how it works, then you will be stuck maintaining that piece of code mindlessly with no promotions, no growth until the code you wrote becomes obsolete. Don't do that to yourself. Develop good habits early in your programming career, and learn to be a team player. the grade will come.
Task: Watch these videos. Get the 3-Ring Notebook and supplies.
Due: First Week of School.
Prepare for Each Friday in August and September to have a graded notebook check.
Watch these 2 videos. They are from two different perspectives. Look at the authors of each, and think about why they think the way they do. The comments in Dorian's video are instructive and enlightening for different stages of your life as a programmer.
You will take notes and keep a notebook in APCSA and APCSP, for a bi-weekly grade. This is an easy grade, or a very hard grade depending on your attitude.
Over the summer, get a dedicated 3-Ring Notebook, 1 inch to 1.5 inches, with a clear cover, any color you want. Make it just for APCSA. Load it with loose leaf paper and grid paper. Either in a pouch or in your backpack, carry some colored pencils, several colors of pens, and a mechanical pencil with a very good eraser. If you really like precise shapes and lines, this is optional, but you might consider getting a 6" or 12" inch plastic ruler. The classroom has a hole punch.
Please do NOT try to use a Spiral Notebook for either class. You can't add pages easily; they are a mess to add graph paper into; you have to rip out the pages to turn in just a page; the little paper pieces make the room a mess; and when you run out of pages you now have to carry two spirals.
Understand that we will allow you to use "open paper notebooks" for most assignments. Early on, we will practice keeping a 3-ring notebook (and getting a grade for it) because you will have to move from high-school-level thinking to a more collegiate-level learner, integrating, synthesizing, and applying information over time.
You will be asked to watch the lesson videos at home the night before and take notes. Then you will be asked to complete a small quiz for practice (1 to 4 questions). The "A-scoring" students would also review the Examples and see what was going on, taking notes, changing things, and playing with things in the code, to really understand the concept. Their notes showed this playing with the code. Then in class, the students would supplement their notes with the lectures, and then apply their knowledge to the exercises in class. Interestingly, these students were most likely to be commenting their code prolifically early on, and more strategically in the second semester. They were also likely to use pseudocode or flowcharting on programming projects in class.
How to Take Notes for Computer Science Classes. Jul 25, 2020. Aman Manazir (YouTube).
Taking Notes is a WASTE OF TIME When You're Learning To Code! DO THIS INSTEAD! Dorian Develops (YouTube).
Assignment #3: Reviewing Retro 80s Video Games from a Game Developer's Perspective Presentation (This counts as one of your first project grades. You will turn it in your first week of school & you will present in the first weeks of school.
Estimated time to complete 5 hours over the summer. 2 minute presentation in the first two weeks of school.
This Summer Assignment has 3 parts - (1) research 80s games, compare and contrast from a developer's perspective, (2) create a slide presentation imagining yourself as a game developer, and (3) present your slide show live in the first two weeks of school.
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 apic 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 varients.
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 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.
Part 3
The summer assignment is due the first week of class and counts as your first project grade. The live presentation of your presentation project (1-2 minutes) counts as your second project/test grade and presentations will probably spill into the second week. One of your first few classwork grades will be to bring to class a 1-inch, clear cover, 3-Ring Notebook with a ream of notebook paper and quad-rule paper. The rest of your materials list is also a classwork grade. You will have weekly notebook grades, which should be a very easy score. Do any OPTIONAL things you want to do and have time to do.