Difference between revisions of "IB Computer Science 1"

(Tag: Replaced)
Line 1: Line 1:
== Tuesday - Friday (5/26/20 - 6/5/20) : Self-distancing : Weeks 11 & 12 ==
* Convert your "Top-Down" Perspective Game (Robots / Item Collection Game) to Java
** '''Note: There may be some required modifications to the Sprite.java code'''
** This next game will use a top-down perspective and be a variation of many games that you might have played in the past
** The keyboard will move the player around (WASD or arrow keys)
** The player must collect 5 or more items on the screen. Collecting all the items wins the game.
** The player must avoid colliding with at least 3 enemy robots that follow it around. Colliding with a robot loses the game
** There is a timer counting down, and the player must collect all the items before it hits 0. Otherwise, the player loses.
** The screen wraps around (e.g. player moving off screen to the left appears on the right)
* Additional challenges (optional):
** Robots that collide with each other become disabled "land mines"
** Attack ability so that player can fight back a robot
** Health meter for the player
** Levels that increase in difficulty (e.g. add more robots)
** Warp doors - the player going through the door appears at the other door
** An invincibility or shield power-up item
* '''If you are submitting this assignment for grade elevation:'''
** Create a video demonstrating that your program works
** Within your video, you must also present the source code by highlighting and explaining what the different sections within your code do
== Monday (5/25/20) ==
* Memorial Day
== Monday - Friday (5/11/20 - 5/12/20) : Self-distancing : Weeks 9 & 10 ==
* Download and read over all the code within [https://drive.google.com/open?id=1GrCBrJ3gIULEzvrCLV4W_H8DEFS9SHEe DinoGameWithOOP.zip]
* Re-implement [https://docs.google.com/document/d/1ISlelGLpXnTMHWMT8X6_FD52FwA-kwQqwf6og0HRnkE/edit?usp=sharing OOP: Flappy Bird in Java]
** You may use your pre-existing Python Flappy Bird code to help you through this
* If you are submitting this assignment:
** Create a video demonstrating that your program works
** Within your video, you must also present the source code by highlighting and explaining what the different sections within your code do
== Monday - Friday (5/4/20 - 5/8/20) : Self-distancing : Week 8 ==
* Sorry for the lack of update this week...hopefully everybody used the week to catch up on everything
* OOP assignments and mini-project coming soon
== Monday - Friday (4/27/20 - 5/1/20) : Self-distancing : Week 7 ==
* Final grades have been posted. Both percentage and letter point averages were calculated, and the higher of the two was given
** [https://docs.google.com/document/d/1ztVtjGaky-38ko1b8bgrtnuNeLP0VwZ5-7wYvnBfxlg/edit?usp=sharing Optional Final Grade Elevation]
* Read [https://docs.google.com/presentation/d/13d1XDWj2an0wi1UhffvkpP1I-AwPy9pBYe7_qnuNNlw/edit?usp=sharing OOP: Part 1]
* Complete Constructors Practice 1 repl.it
* Complete Constructors Practice 2 repl.it
* Read [https://docs.google.com/presentation/d/1_2kJtR8gIEwZUUZ0QThVfTMKgFP7wg7oAQDPF4jv0Pw/edit?usp=sharing OOP: Part 2]
* Complete Object Usage Practice 1 repl.it
* Complete Object Usage Practice 2 repl.it
* Read [https://docs.google.com/presentation/d/1PbHMnGha8dkpxftaaWrAqEepN_xN5uqSU6d2kFQJfUc/edit?usp=sharing OOP: Part 3]
* Complete [https://docs.google.com/document/d/1ZoXB12Md1zbG_liXn1yfIDosZ2p9i2ZqqsU4Hx8WV5A/edit?usp=sharing OOP: My First Object]
* Complete the class definition practice repl.its: Circle class, Point class, Car class
== Tuesday - Friday (4/14/20 - 4/24/20) : Self-distancing : Weeks 5 & 6 ==
* Read and complete [https://docs.google.com/document/d/1-J0aLlGGi1vrR0dh3mwqRITUkVyPPNoWXuBEti4ERjY/edit?usp=sharing IB CS 1 Weeks 4/14 - 4/24 Announcement(s)]
* [https://docs.google.com/document/d/1ztVtjGaky-38ko1b8bgrtnuNeLP0VwZ5-7wYvnBfxlg/edit?usp=sharing Optional Final Grade Elevation]
** Final grades will be calculated and posted next week
** You have an opportunity to gain up to 10 final grade percentage points by completing all of the Java material/content (slides and videos) and its assignments that have been posted since the self-distancing began
** Complete the Final Grade Elevation Survey found in Canvas Quizzes
** Details of assignment(s) submission will be given later
== Monday - Friday (4/6/20 - 4/10/20) : Self-distancing : Week 4 ==
* Spring Break
== Monday - Friday (3/29/20 - 4/3/20) : Self-distancing : Week 3 ==
* Free Online Java Textbook: https://books.trinket.io/thinkjava2/
* for loop review and exercises
** https://www.youtube.com/watch?v=h4ApLHe8tbk
** Complete the 4 for loop repl.its
* Java Arrays
** Read [https://drive.google.com/open?id=1Ayzvd1q-6RwZKplUtLHDCCLyO5XIR5kyeKUi8-htErY Java arrays]
** Complete Java arrays exercises in repl.it
* Java Methods (functions)
** Read through [https://docs.google.com/presentation/d/1L-tbBp51YuUoTWldXFBr6JGcyHF5sBy_flfPGiqlVAQ/edit?usp=sharing Java methods]
** Complete the Static Methods repl.it assignment
== Monday - Friday (3/23/20 - 3/27/20) : Self-distancing : Week 2 ==
* Mr. Bui is in the process of closing out 3rd Quarter grades
* Watch [https://www.youtube.com/watch?v=y-exbVWzPJ4 Java Method Signatures]
* Complete the [https://docs.google.com/document/d/1QdwkorQtCghHqfqZ5QSH-RfuRoNUXGsXRjaLZ6MDJNI/edit?usp=sharing Java Processing: Bouncing Ball Lab]
* Java References (if you feel like they'll be useful or you want to skim them to see what's there)
** [https://introcs.cs.princeton.edu/java/11cheatsheet/ Java Cheatsheet (Princeton)]
** [http://interactivepython.org/runestone/static/java4python/index.html Java for Python Programmers]
** [https://processing.org/reference/ Processing (Java) Reference]
* You will be converting several of your old Python Processing animations to Java Processing. '''You do not need to turn them in yet.  Simply verify that it works yourself.'''
** Convert your Python Processing Emoji to Java
** Convert your Python Processing Hover Buttons to Java
** Convert your Python Processing Tic-Tac-Toe to Java
* If you do not have your Python Processing versions of the assignments above, then you may use somebody else's Python Processing code just to practice porting it to Java. You may find the Python version of some programs [https://drive.google.com/drive/folders/1Y_RKhGeK8snV4rc85zmZltlXFvsTvjWL?usp=sharing here]
* Make sure you successfully execute and test each of the programs that you convert over to Java
* Feel free to practice converting other Python Processing programs to Java
== Tuesday - Friday (3/17/20 - 3/20/20) : Self-distancing : Week 1  ==
* 3rd Quarter ends '''Friday (3/20/20)'''
** All IB CS 1 grades are currently being entered for the 3rd quarter, so if you check and notice a grade is incorrect, then please e-mail Mr. Bui
** Recheck your IB CS 1 grade daily because Mr. Bui is updating it right now.
** If you wish to update a grade b/c you needed to complete a missing/late assignment, then please e-mail Mr. Bui
** No work for 3rd Quarter will be accepted after '''Friday (3/20/20)'''
* 4th quarter schedule of assignments will be posted soon (after Mr. Bui finishes closing out 3rd quarter grades)
== Monday (3/16/20) : Self-distancing : Week 1 ==
* All students are still expected to have completed all the repl.its assigned when school was still in session last week (see previous date below)
* Mr. Bui is developing a weekly schedule of Java-related programming tasks and resources. <del>A complete schedule should be posted by Tuesday (3/17/20) morning</del>
* Mr. Bui is also developing a question-answer workflow so that students can ask general and specific questions. The workflow will look something like this:
** General questions should be posted in the Canvas Discussion area; however, the student should check if any existing discussion threads already answer their question. If not, then a new thread should be created for their question
** Specific questions about student code will require students to take a screenshot of their own code and message it to Mr. Bui. The Canvas messaging system will likely be used for this because Mr. Bui does not want his inbox to be flooded
* If you have any questions right now, please feel free to e-mail Mr. Bui or create a Discussion thread. Please note that if you e-mail a question, and it's a good question, then Mr. Bui may create a thread himself to repost and answer your question
* Please note: Mr. & Mrs. Bui have their own children at home with them, so do not expect immediate responses.
== Thursday (3/12/20) ==
* Scanner review
* All repl.its through quadratic formula should be done at this point
* Java Conditionals (booleans, comparisons, logic ops, if, while)
* Complete the following repl.its
** 2 x Conditional Statement repl.its
** 4 x While Loop Practices
** Taylor Series Pi (4th quarter)
** Taylor Series E (4th quarter)
== Tuesday (3/10/20) ==
* Java's Input Scanner
** Read every line of https://repl.it/@paulbui/Java-Scanner-Input
* Be able to answer the following questions about https://repl.it/@paulbui/Java-Scanner-Input
*# What statement is used at the top of the file to import the Scanner? (Line 1)
*# How do we declare a Scanner variable and initialize it? (Line 9)
*# How do we print message prompts to the user? (Lines 12, 17, 20)
*# How do we scan the keyboard for an inputted String? (Line 13)
*# How do we scan the keyboard for an inputted int? (Line 18)
*# How do we scan the keyboard for an inputted double? (Line 21)
* Complete the My First Scanner Java repl.it (should be done by the end of class period)
* Complete the Rectangle Area Calculate Java repl.it (should be done by the end of class period)
* Complete the Distance Formula Java repl.it (should be done by the end of class period)
* Work on the Quadratic Formula Java repl.it (most people should be done with this too by the end of the period)
* Complete the Quadratic Formula by next class (or have questions if you are stuck)
== Wednesday - Friday (3/4/20 - 3/6/20) ==
* App Catalog -> JGrasp
* Turn in Download worksheets!
* Introduction to Java
** Join the [https://repl.it/classroom/invite/m8cStYC new Java repl.it course]
** Basic syntax - Hello World
** Variable declaration and initialization
** Integer division
** Casting
== Monday (3/2/20) ==
* Watch [https://archive.org/details/DownloadTrueStoryInternet/Download_-_The_True_Story_of_the_Internet_-1-_Browser_Wars.avi Download: The True Story of the Internet: Browser Wars]
** Complete the worksheet questions in Canvas. Due on '''Wednesday 3/4/20'''
* Watch [https://archive.org/details/DownloadTrueStoryInternet/Download_-_The_True_Story_of_the_Internet_-2-_Search.AVI Download: The True Story of the Internet: Search]
** Complete the worksheet questions in Canvas. Due on '''Wednesday 3/4/20'''
* Watch the videos and complete the worksheets in Canvas if you did not finish them in class. Due on '''Wednesday 3/4/20'''
== [[IBCS1 - Archives]] ==
== [[IBCS1 - Archives]] ==
* [[IBCS1 - 1920 - May]]
* [[IBCS1 - 1920 - April]]
* [[IBCS1 - 1920 - March]]
* [[IBCS1 - 1920 - February]]
* [[IBCS1 - 1920 - February]]
* [[IBCS1 - 1920 - January]]
* [[IBCS1 - 1920 - January]]

Latest revision as of 22:36, 16 June 2020