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.comdumb_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: 

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.


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


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.