APCSP Computer Science Principles
meets in Bus-4 Lab & occasionally in Photo Lab
SEMESTER ONE ASSIGNMENTS
DIRECTIONS: To turn in these assignments, simply copy the assignment portion with a date like 20180907 and list your answer underneath. Answer ONLY the highlighted blue ?s
August 17, 2018
August 21, 2018
August 23, 2018
20180823: Paste a screenshot of your infographic you created yesterday, here. Explain the relevance of the data.
Create an infographic that expresses a way in which you have improved some kind of data in your life over a period of time. What is the trend in VR for the last 3-5 years based on the research you’ve done this week. Consider how things have changed in Virtual Reality in the last 3-5 years. Underneath, describe the relevance of the data you collected, where it came from, and why it is relevant to proving
Code.org → complete U1, L3-4
August 24, 2018
Continue working on your python animation
Code.org → complete U1, L5-6
20180824: Converting Binary Numbers… What pattern do you notice in the alphabet binary code chart at right?
August 28, 2018
Continue working on your Python Animation. Be prepared to film your animation running and explaining what the code does.
20180828:What is Quantum Computing? What Makes Quantum Computing Different? How has it changed over time? How does it calculate speed?
Continue working on your Python Animation. Be prepared to film your animation running and explaining what the code does.
August 30, 2018
Update all your Google Doc Assignments; I will grade them at the end of next week.
Complete your Python Animation, including drawing the objects and then adding animation movement
Code.org → complete U1, L7+ FINISH IT!
20180830: List your script that explains what you will say on video explaining what you were trying to do and what your program runs.
MS H’s EXAMPLE → You write your own!!!: I used Python Turtle to create a scene which shows a growing garden. I did this by __________________. I then wrote a function that would ___________. I did this because __________________. I tried to do __________ but it didn’t work, so I did this instead and it worked better. Lastly, I created a timed loop that would add flowers one by one to the garden scene.
August 31, 2018
Complete your Python Animation (Please show Alex who’s new today what you’re doing so he gets a sense of what he’ll have to do. He already has a flower animation with rainbow petals)
Update all agendas. If there is time, you may begin the one for 9/7
Code.org → Unit 1 Chapter 1 Assessment
20180831: What is the hardest part about programming in Python Turtl? Why? What has been the best resource for you? Why? What is the best thing about learning Python, for you? Why? Why do you like or not like this language? If no, what would you prefer instead?
September 5, 2018
Record your video
Look at some sample videos and score one using the Create Task Rubric
20180905: Write your script of what you want to explain in your video for today’s assignment. Must be less than two minutes
September 7, 2018 → DUE TODAY → AGENDAS from 8/17-9/7, 90 pts
Game Test the technology you’ll want to use to build your game in Project 2
20180907: Letter To The Teacher → Write a letter to the teacher explaining, in general, ONE PARAGRAPH FOR EACH TOPIC of the following topics:
Dear Ms Hansen,
The beginning of school has been pretty… (1 paragraph)
This class is… (1 paragraph)
Life is… (1 paragraph)
Tuesday, September 11, 2018 →
Begin Game Development
20180911: Game Programming Terms ame Programming Terms → Define the purpose for each of the following attribute you’d use in game coding:
Thursday, September 13, 2018 →
Code.org → CSP Unit 1: Complete Lessons 8-14
NOTE: Be sure you are logged in to your Jeffco IN YOUTUBE so you can view the videos…
20180913: Game Plan Describe the plan you have for your game, in 1 paragraph.
Friday, September 14, 2018 →
Guest Speaker: Zach Kurtz, Game Developer → Metro State Math & Computer Science Major
We move to the Mac lab next week. Save all your files in your Google drive.
20180914: Game Dev Guest Speaker ?s ist 10 Things a Game Developer could learn from Golden Flames Studio Developer Zach Kurtz (CHS ℅ 2018)
Monday, September 17, 2018 → MEET IN MAC LAB for INSTALL DAY
20180917: What is the best IDE to use on a internet-connected chromebook (or online)? And why?
INSTALL THE FOLLOWING SOFTWARE for MacOS on your machine:
Python & IDLE (doc for using Python on a Mac) → By default, .PY files will open in TextEdit (like notepad, it comes bundled with OSX. Go to menu “Format > Make Plain Text” to turn off text formatting, 'Command+Shift+T”). By default it will write files in non-ASCII format, which messes things up. It also lacks any decent formatting options. So install XCode next! As well as the free one with Python called IDLE (in your App folder) → Click to view the video on Downloading and Installing Python IDLE (Python Shell)
Go to the App Store → Click LOGIN (at right) → Ask Ms H to login to login & pw to install the following:
Microsoft Visual Studio for Mac + ALL EXTENSIONS WE COULDN”T INSTALL LAST YEAR :)
INSTALL THE PYTHON EXTENSION BY MICROSOFT
Max’s Notes → Install the JAVA Ide for EE developers package
After opening in Eclipse, open the New Java class (call it Main)
OTHER → DO THESE WORK IN THIS LAB???
Wednesday, September 19, 2018 →
Install Microsoft Visual Code Studio
Open Python IDLE → Create a Print Message. Does it work like it did to print a message in REPL?
Create a TEST EXAMPLE: print(“Hello World!”)
20180919: Software IDE preferences SIMILAR QUESTION: As we are testing some of the new software to see if they run correctly, think about the software applications we just installed. What is the best IDE program you know to type & test your code into that runs on the internet. Why?
Open IDLE > File > New File > type your print message (in the text editor)> save as test.py > go back to the shell> File > Open (find test.py to open in shell > Run > Run Module (you should see this run in your shell)
How to install Python in the Eclipse IDE (Alex’s Notes)
Then, install PyGame THIS DID NOT INSTALL AT SCHOOL. YOU CAN, however, INSTALL IT ON YOUR PERSONAL LAPTOP FOR HOME USE → ASK ALEX IF YOU WANT TO INSTALL THIS ON YOUR HOME MACHINE, AS HE DID
Friday, September 21, 2018 →
20180921: IDE Editor Download Packet Downloader ? → REMEMBER THIS ANSWER FOR THE AP EXAM → y does the computer divide up all the packages you have to download for Eclipse, separately? Basically, why are there so many add-ons after you have to also download after you’ve already installed the program. Hypothesize. How might this be useful for the software application company?
Open Eclipse and test that Java is running. Open the Java IDE for EE Developers in Eclipse, then open the New Java Class (and name it main). Next, run a basic print command
Then, continue working on your game
Tuesday, September 25, 2018 →
Similar to what you will take for the 72 May 11 APCSP ?s, Take the code.hs PRE QUIZ, Class Code E5B22
PROJECT 5 → You will create a database inventory of students that worked on the Joey Santaniello Walk for All 5k in the following categories: full name, grade, class, etc, This will serve as a template to organize your own database of Race Registrants for the October 8 event. See me if you want to use MySQL
20180925: 9/25 We’ll re-answer this one in class on 9/27 Grocery List Aisle Separator → List the code for how you separate and combine two Grocery Lists with mean or nonmeat in Python?? Paste your Run Code as your answer
Thursday, September 27, 2018 →
Open Visual Studio Code | Be sure you have installed the Python Extention
On my computer, it installed it into my Downloads folder and I dragged the program icon OUT of there and INTO Applications. OR, you can open the program and then click “install support for Python” from right when you open it. This will give you debugging support. Restart the program after install.
20180927: Magic Eight Ball Randomizer → How do you create a Magic Eight Ball randomizer? Paste your code here as your answer.
Tuesday, October 2, 2018 → Joey Santaniello Walk for All 5k SQL Databases Week → About / Syntax / Setup
20181002: SQL Questions → Intro to SQL @ W3Schools:
1. __ SELECT
2. __ UPDATE
3. __ DELETE
4. __ INSERT INTO
5. __ CREATE DATABASE
6. __ ALTER DATABASE
7. __ CREATE TABLE
8. __ ALTER TABLE
9. __ DROP TABLE
10. __ CREATE INDEX
11. __ DROP INDEX
A. deletes an index
B. extracts data from a database
H. inserts new data into a database
I. modifies a database
J. modifies a table
K. creates an index (search key)
Review the Project Portfolio List. Begin PROJECT 5: which will will list the Joey Santaniello Walk for All 5k registrants has been sent to us. The event leader needs to know how many t-shirts to order? Create a database that will list who ordered a shirt and what size, so we can order them in time for the event. Some of you will complete this task today. This is needed ASAP! How do you display your result online, using the reference to the registrant data file as your input?
AGE FIRSTNAME LASTNAME GENDER ZIP CITY STATE SHIRT TRANS_NUM TRANS_DATE FEE EVENT
INSTRUCTIONS: HOW TO CREATE YOUR DB TABLES…
Use INSERT INTO to record data into table
Add commas between each entry
Separate each entry by parenthesis, ending with a semicolon
Leave out the time the registration purchase occurred
Once you type the list, you may use ALTER TABLE or ALTER COLUMN to fix something you want to add or subtract something you inputted into your database
Thursday, October 4, 2018 → SQL DB Week Joey Santaniello Walk for All 5k → RUN CODE
20181004: DB ?s
Friday, October 5, 2018 → SQL DB Week Joey Santaniello Walk for All 5k → EVALUATE + UPDATE PROJECT PORTFOLIO
20181005: Six-Sided Dice Probability
Tuesday, October 9, 2018
Complete the Evaluation Form → https://goo.gl/forms/XNTI62rbhR5JCoKT2
20181009: Probability Problem Code Comparison → Is there a “right” way to write code?
Review the different ways your classmates estimated the 16.667 probability that a 4 would be rolled on the die in the Python Code Examples at top
COMPLETE YOUR TSHIRT DATABASE
Thursday, October 11, 2018
20181009: DB & SQL Evaluation Questions
Tuesday, October 16, 2018
20181016: Python Database Description For each question, copy and paste the code that does each part
Joey Santaniello Walk For All 5k T-Shirt Order Python Database Description
1. How many different shirt size possibilities are there?
2. Which items are in the list?
3. What is “i” in this mathematical sequence? What does that mean?
C. i =
4. Which command asks for the size?
5. Which code tells the computer to check for the next person?
6. Which code moves on to the next person’s shirt size entry?
7. Which code lists who gets a medium size?
8. Which code lists if a person did not order a shirt?
9. What code causes the program to run after the specified number of entries have been added?
10. Which code appends or adds a name to the list?
11. Which piece of code gives a total number of people who are not getting shirts?
Asks the size
Moves on to the next person to enter
CLASS WORKS → A) Classmate Demo → how to complete a python DB… B) Update your Portfolio C) Complete code.org U2 Lessons 1-2 4) Work on your Game
Thursday, October 19, 2018
20181019: What type of game will you be developing. Why?
Back to Construct 3 → continue working on your game
Friday, October 19, 2018
20181019: CS Copyright and Licensing fort
1. What is the Mission of Creative Commons licensing?
2. Why would you want to get a Creative Commons license? How can it be a helpful resource for a builder?
3. If you could make something for yourself that was shared on CC, what would it be and why?
4. Why do they not recommend using CC for software or computer hardware?
5. Text is so easily shared and you know from how Facebook began, it is very easy for someone else to Pirate your idea. Where should you go to copyright or license your code? Or to license your original game
List which piece of our tshirt Python Database completes each of the following functions
201809##: Answer parts A + the chart in B
A. Answer the following: Is a Mac Good for Programming?
Here are three reasons why people prefer mac over PC
1) When it comes to Hardware, ____________________________
2) Besides developing Windows Apps, the Development Environment is ____________________________
3) There are plenty of alternatives to the Development Tools you use on a PC, such as ____________________________
B. Python Crash Course. Complete the chart explaining one way you can use Python IDLE to compute the following functions. We’ll go through these together. OPEN PYTHON IDLE COMMAND LINE SHELL and Create New “practice.py” (save to documents).
In the terminal type the following 2+2
When you click return, do you get the correct answer?
Now let’s try print(“hello world”)
Type exit() What question are you asked?
PYTHON BASICS FUNCTIONS SHEET
Building Hello World
Basic Print Function
Variables and Expressions
How to include User Input
Adding / Subtracting Sums
Multiplying to solve simple algabraic equations
X + Y =11
X = 2
Solve for Y
Friday, September 28, 2018 →
1st 6-Week Grades due!!! → Show your Magic Eight Ball working in IDLE to Ms H. Then, copy your code to REPL, calling your project Magic Eight Ball
20180928: Being able to manage a computer database is a highly valued skill by our society. PART I. Perform a job search for SQL Developer jobs in Littleton, CO on the job application site, Indeed used by Professionals. List the following details you find for four different types of jobs, starting with someone just starting out to someone who has been doing this career for a long time. Then answer the fifth question under the table.
Small Company or Large Company?
Skills they want you to have
Y/N College Degree
(What name do you find for a “beginning” or “just starting out” SQL Developer)
(What name do you find for an “Advanced” SQL Developer?)
PART II. DON’T FORGET TO ANSWER THIS QUESTION → Based on your research, what job search advice might you give someone who was just starting out in this field and wanted to break in?
Monday, October 1, 2018 → Begin Organizing the SQL Database for the Walk For All 5k
Spencer came and talked with us Friday and said there are 16 registrants. They must include name, age, email, gender, birthday, address, & phone. Of those seven categories
As of 20180928, we had 14 registrants, though many more are expected to sign up on the day of the event. To prepare, we will create and organize the list of all of the ones we have so far. Senior CHS Student Spencer will help us with all the names. You will need to show Ms H that this works IN CLASS to receive credit for this assignment via
20181001: List the categories you will list for each registrant (we started this Monday, last week)
Open w3schools to get started
Wednesday, October 3, 2018 → Python Date and Time
Begin your APCSP Portfolio website using google sites or REPL
20181003: What is the probability that a six-sided die will produce a 4?
Project 7: produce the die roll
Project 6 Solve your t-shirt size ?s using Tables?
Friday, October 5, 2018 → Python Date and Time
Tuesday, October 8, 2018 → Python Date and Time
Create a google site for your Portfolio of Code Samples from this class. You will have several parts to the site, but right now, we will display some examples of your working code from APCSP on a page uploaded from REPL. Upload your Grocery List & Magic 8 Ball to REPL. Then, embed the code from those two REPLs onto your site. Click HERE for the instructions on how to embed your REPLs w/o showing the code part.
Python Date and Time
Python + Web Data
Download the Exercise File Zip for Python
REVIEW BASE CONVERSIONS. Rewrite the following numbers in base 10 for today’s ?. If you need to, consider writeing out a table like the one listed below. Thursday’s question will have to do with converting decimal to binary
BINARY NOTE REVIEW
1. Base 10 In base 10, the digits, from right to left, specify the 1’s, 10’s, 100’s, 1000’s, etc.
These are powers of 10 (10x ): 100 = 1, 101 = 10, 102 = 100, 103 = 1000, etc.
Each digit in a base 10 number can have a value from 0 to 9.
Base 10 numbers are commonly referred to as “decimal” numbers.
2. Notation As we work with numbers, the following notation will be used. The top row of the table shows the value for each place in the number. The second row shows the actual digits in the number. 123 is represented by:
3. General Base Definitions
Base n means that each place (x) in the number represents nx . (n0 , n1 , n2 , n3 , etc.)
Valid digits in base n are 0 to n-1.
When working with numbers in different bases, a subscript is usually used to indicate the base
e.g. 25310 means 253 in base 10
We can represent any number in any base. The number will usually look different when expressed in another base, but its value is the same. When a number is stored in the computer’s memory, it has a specific value; we can show it using base 10, base 2, base 16, etc., but the value never changes -- only the representation changes.
4. Base 2: Binary
Each digit in a base 2 number can have a value of 0 or 1.
Places are 1’s, 2’s, 4’s, 8’s, etc. (20 = 1, 21 = 2, 22 = 4, 23 = 8, etc.)
Computers store numbers in binary, which is the common name for base 2 numbers. Each binary digit corresponds to one bit of memory. There are 8 bits (or 8 binary digits) in a byte. The computer stores values in memory by turning these bits on (1) or off (0) to correspond to the binary representation of the number.
4.1. Converting binary to decimal Converting from binary (base 2) to decimal (base 10) requires doing a little math with the dig
Begin Game Development → What is a pitch? What important things about your game should be included?
Game Programming Terms → Within each of the following qualities, there are several attributes you can define. Define an example of each of the following specific Events, Properties, Types of Variables, Tags at the Bottom attributes you plan to use in your own game for the following:
Current Industry Sectors in Tech
Monday, November 27, 2017 BLUE DAY
HAPPPY WINTER BREAK!!
NOVEMBER → REGISTER FOR AP ACCTS
Who wants to go to JeffCon??
Who wants to join Code Quest?
April 20, 2018 Day of Service Volunteering Opportunities
ARE THESE LEARNING HELP LINKS UNBLOCKED YET? Check
PRACTICE QUESTION → Which of the following is a true statement about program documentation? Why?
What are your thoughts about Encryption? Do you think it works or do you think any code can be cracked? Then, read the NY Times article on how to protect your laptop if it gets stolen. Then answer the following:
When your laptop is lost or stolen, you aren’t just out $800 (or more). Your personal information is also accessible to whoever takes it, even if you have a password.
“Unfortunately, a typical password-protected user account does nothing to protect your data,” says Dennis Stewart, a security engineer at CipherTechs. “While the password will prevent someone else from logging into your computer, an attacker can still use other methods to copy files off.” If thieves remove the hard drive and put it into another computer, they have access to any files you have stored on it. In some cases, they can even reset the password on your PC and gain access to your email, passwords and other personal information.
Thankfully, you can protect your data against both of these types of attacks with encryption. “Encryption is a mathematical process used to jumble up data. If important files or whole devices are encrypted, there is no way to make sense of them without the key,” Mr. Stewart said. That means if thieves try to access your information, they’ll find only a jumbled mess unless they have your password, and they won’t be able to simply reset that password if the device is encrypted.
Encrypting your hard drive isn’t some super-technical process that only security experts can perform, either — anyone can do it on his or her computer at home, and it should take only a few minutes to get up and running.
How to Encrypt Your Hard Drive
If you have a Windows laptop, you have a few options. Some Windows 10 devices come with encryption turned on by default, and you can check this by going to Settings > System > About and scrolling down to “Device Encryption.” You’ll need to log into Windows with a Microsoft account in order for this feature to work, but if your laptop offers it, it’s an easy and free way to protect your data.
If your laptop doesn’t support Device Encryption, you can use Windows’ other built-in encryption tool: BitLocker. BitLocker is available only on Professional versions of Windows and above (a $99 upgrade for Home edition users), but it’s incredibly easy to set up. Just head to Windows’ Control Panel > System and Security > Manage BitLocker. Select your operating system drive and click the “Turn On BitLocker” button, following the prompts to create a password that will function as your encryption key. Be sure to store your BitLocker key in a safe place — somewhere not on that computer — in case something goes wrong!
If neither of those is an option, a free program called VeraCrypt can encrypt your entire hard drive, requiring your password when you boot your computer. It’s not quite as simple, straightforward and built-in as Windows’ Device Encryption and BitLocker, but if it’s your only option, it’s worth looking into.
Mac laptops are much more straightforward: All modern Macs (since about 2003) have a feature called FileVault that encrypts your entire system drive. Just open your Mac’s System Preferences, head to Security & Privacy and select the FileVault tab. Click the “Turn On FileVault” button to create a password and begin the encryption process. Store your key in a safe place (not on that computer) in case you ever get locked out.
Thankfully, modern iPhones and Android phones will automatically encrypt your data as long as you use a PIN or password, so you need to worry about enabling the feature only on your desktop and laptop computers. If you have an Android phone with an SD card, however, you can enable encryption for the SD card manually from the Lock Screen and Security settings.
Don’t Forget Your Password
There is one catch to encryption: Your password is much, much more important to remember. Data may be protected from intruders, but it’s also impossible for you to access should you forget your password or recovery key. “If a user forgets or loses their key, they’re out of luck,” says Mr. Stewart. “If a bad actor can’t get at your data without the key, you can’t, either.” Some businesses may grant IT departments a master key, but not all do, and this can’t be done retroactively.
So if you’re the type of person who forgets passwords often, it’s incredibly important you write it down — along with the recovery key you were given when you performed the above steps — and keep it in a safe place. Don’t keep it on the computer you encrypted and don’t keep it out in plain sight — put it in a physical safe that only you can access. And no matter what, always keep a good backup of your data, either on another hard drive (which you should also encrypt) or with a cloud service like Backblaze that keeps your data secure.
Whitson Gordon is a writer and editor in San Diego. Follow him on Twitter: @whitsongordon
What are your thoughts about Encryption? Do you think it works or do you think any code can be cracked? Then,
Search Java Source Code → http://www.javased.com/
Popular Python Code Cookbook
1) String/Array/Matrix, 2) Linked List, 3) Tree, 4) Heap, 5) Graph, 6) Sorting, 7) Dynamic Programming, 8) Bit Manipulation, 9) Combinations and Permutations, and 10) Math Problems
A. void setup () → sets up and tells the computer to read the code
B. void loop () → tells the computer to keep running the loop until you tell it to stop (operating your LEDs)
Python Debugger → http://pychecker.sourceforge.net/
REPL.it → https://repl.it/@GamingTimelord19/game
Benefits of functions -- Possible responses:
Functions are examples of Abstraction -- Possible responses: