Friday, October 13, 2017

What's Going On? October 16th through October 20th

App Development

Last week, students wrapped up their second app challenge of the year, "Multiply".  I was very impressed with the work being done and with how many students attempted multiple "stretches".  I am excited to see what else will be created this semester!

Now that our "Multiply" unit is done, we will move into our "Tip Calculator" unit.  By the end of the unit, students will create an app that will calculate the 15% tip for a bill at a restaurant.  For an added challenge, students can design the app to also calculate a 10%, 20%, and 25% tip.  Additionally, students can develop the app so that the total cost of the bill can be split evenly among several people.

In order to prepare for this app, we will first need to talk about conditional statements as well as how to define our own functions.  We will spend the week focused on these two topics.



AP Computer Science Principles


Now that our work with Scratch and MIT App Inventor is complete, it is time to start learning the Python programming language.  Over the weekend, students should read through the material in lesson 1.3.1: Programs are Data.

With our new language, comes new software.  To program in Python, we will be using the program "Canopy".  This program will be available through our Citrix system, which means that students are able to access it via the internet with a PC or Mac computer.  We will spend our four class days of the week learning about Python variables and functions, using our lesson 1.3.2 materials.  Once we have a solid foundation of this, we will apply our knowledge to conditional statements, using our lesson 1.3.3 materials.

Students who would like some additional support for this unit can check out codecademy.com.  This is a great FREE resource with guided Python tutorials.


Programming for the Web 1


On Monday of this week, students will have the chance to finish up their lesson materials for lesson 6.  On Wednesday, we will move into our 7th lesson of the year.  We will be focused in on how we can use CSS to change colors and backgrounds on our web pages. 

Along with the week, students will need to read chapter 13 in the textbook and complete the accompanying reading guide.  The reading guide will be due on Thursday and our 10 multiple choice questions will be completed on Friday.  Students will also have 3 web assignments to complete for the week.


Friday, October 6, 2017

What's Going On? October 9th through October 13th

App Development

This week, students will continue their work on our end of unit app challenge, "Multiply".  For this summative assessment, students will be creating an app that allows the user to enter in two different numbers.  The basic feature of the app will allow the user to click a button and have the product display on the screen.  Students are also encouraged to add some "bells and whistles" to the app by adding on our "stretches".  Students can display a picture of our school logo when the product is greater than 100, display a "funny" picture when the product is odd, and display a "funnier" picture when the product is even.  Students who are able to complete these stretches are encouraged to experiment with a segmented controller to add in the features of addition, subtraction, and division.


AP Computer Science Principles

Last week, students "pitched" an app that they would like to see created.  This week, students will choose one pitch to work on.  Students will have a week to create the app using MIT App Inventor.  At the end of the week, students will create a video and answer some reflection questions pertaining to their app and the creation process.  This is in preparation for the "Create" performance task that students will need to complete as part of the AP Computer Science Principles exam.  We will practice this skill a few times before students will need to complete the entire project and video on their own.  The goal is to get feedback so that students can create the best possible project.  This week-long project will be entered into Infinite Campus as a summative assessment.


Programming the Web 1

Last week, we had some software issues and we also had a shortened class due to the Homecoming pep rally.  So, it seems like students will need a little bit of extra time to catch up.  Students will have Monday's class to work on finishing up lesson 5 materials or catch up on old assignments.  Students who are ready to move ahead will be able to take a look at lesson 6.  Students should have brought home a grade report reflection.  These signed reflections should have been returned to school on Friday.  If you have not taken care of this obligation yet, please be sure to bring back your signed grade reflection to class on Monday.  Many of the students enrolled in the class have signed up for the WCTC transcripted credit option.  Students will need to earn a "C" or higher in the class to be eligible for WCTC credit.  I want to make sure we have a clear line of communication regarding each students' current status.  Students who need additional lab time are invited to come in Wednesdays and Thursdays from 7:00-8:00am during the month of October.

On Wednesday, the entire class will move on to lesson 6.  Students will need to read chapters 11 and 12 in the textbook and complete the accompanying reading guide.  Students will also have 10 multiple choice questions that go along with the lesson.  This week, our study will take a closer look at CSS, cascading style sheets.  Now that we have practiced adding items to our pages using HTML, we will work on the style of the page.  Students will also have three web assignment tutorials to complete.







Friday, September 29, 2017

What's Going On? October 2nd through October 6th

Programming the Web 1


This week we will move on to our fifth lesson for the year.  During the week, we will focus on images and image maps.  This will also be the first week that we start using the industry-standard software, DreamWeaver.


 During the week, we will learn how to turn an image into a link as well as learn how to adjust the height and width of an image through the HTML code.  Students will also learn how to create an image map.  We will use a single picture of the midwest and be able to insert many links into it.  For example, a web user could click on "Milwaukee" to get to one site and "Chicago" to get to another.

This week, students will need to read chapter 7 in the textbook and complete the accompanying reading guide by Thursday.  We will also have 10 multiple choice questions during class on Friday.  Throughout the week, students will work on three different web page assignments.  Students are considered "on pace" for the class if all lesson 5 items are completed and turned in by the end of class on Friday.

App Development 1

This week, we will continue talking about operators and comparisons.  We ended last week talking about how Swift handles math functions (addition, subtraction, multiplication, division, etc).  We will talk more about comparison operators this week.


Once we have had a chance to try out these operators and comparisons in our Swift Playground, students will take a short formative assessment to make sure that we are on the right track.  Once we completed this check in assignment, we will talk a little bit more about how to place items precisely on our storyboard using constraints.  We will end the week with a partner project where students will need to find the errors in an existing Swift program.

AP Computer Science Principles

This week we will continue on with our study of Mobile Apps using MIT App Inventor.  Students will revisit the roles of variables in relation to App Inventor.  We will work with a given program and try to figure out the role of each variable in the app.  We will also add our own finishing touches to it.  During the course of the week, students will experiment with different variable roles, how to create a list and work with all the elements in the list, and the scope of a variable.



Learn Something New!


I recently read an article that highlighted the 50 best free online classes.  There are 19 different technology classes offered for FREE from schools around the world, including MIT and Harvard.

If you love what we are learning in class and are hungry for more, check out this website:

https://www.class-central.com/report/top-50-moocs-2017-edition/#technology.  Looking through the list, there are several courses offered in Python, a course on building a modern computer, and Harvard's Intro to Computer Science Course (CS50x).  If you have some spare time on your hands, it might be something to check out.

Sunday, September 24, 2017

What's Going On? September 25th through September 29th

Have Trouble Seeing the Screen? There's An App For That!

I have realized that the setup of our lab does not give ideal seating locations for all students in the room.  I have been in contact with our technology department and they have a solution for us! 

A new app should be available for students soon in "Self Service" called "Spark".  Once it is available, students will need to download this onto their iPads.  I can then share the display computer desktop will all students in the room, giving a much better view of our code.  Students will be able to view the display screen on their own iPad and have the ability to zoom in when needed.  Hopefully, this will help to make every seat in the room an ideal seating location.


Programming the Web 1

This week, we will start our fourth unit of the year.  We will focus on how to create different types of links in a web page.  We will focus on absolute links and relative links.  We will also talk about how we can create an e-mail link as well as how to create links within a web page.



Along with this week, students will need to read chapter 6 in our textbook and complete the accompanying reading guide by Thursday.  We will have three different web pages to create throughout the week.  On Friday, students will complete their 10 multiple choice questions on the lesson.  This is just a reminder that the questions do count as a summative so be sure to preplan your answers!  Students will be considered "on pace" for the class if unit 4 is completed by the end of class on Friday.


App Development 1

This week, we will begin work on our "Multiply App" unit.  We will start off the week talking about more of the features of a textfield.  Specifically, we will talk about how a textfield can call up a keyboard and dismiss it when we are finished entering in our text.


We will also talk about how to create a "segmented controller" as an alternative to creating a lot of different buttons for our app.  We will finish up the week by talking about algorithms and some of the ways that Swift deals with mathematical operators (addition, subtraction, etc.)


AP Computer Science Principles

Now that our Scratch unit is complete, we will move on to our MIT App Inventor unit.  We will start Monday's class by talking about how a computer thinks about information.  Specifically, we will talk about binary, hexadecimal, and decimal numbering systems.  We will spend a little bit of time learning how to convert between two different systems.

Once we talk number systems, we will move on to creating apps for Android devices.  Students will have some tablets that they can use to test out their creations.  Students who have personal access to an Android device are also welcome to download their apps to their devices.

The MIT App Inventor programming environment is similar to what we have seen in Scratch.  We will use "drag and drop" code in order to create our program but we will have a lot more options and flexibility in what we create.  We will start by looking at some existing code and examining its purpose.  Once we figure out what the code does, we will add some more features to it.




Friday, September 15, 2017

What's Going On? September 18th through September 22nd

Programming the Web 1

This week, we will dive into our third lesson of the year.  In this lesson, we will learn about some more ways to mark up text using HTML tags.  Students will learn how to mark up quotes, about the different types of lists, about how to mark up large sections of text using "div" tags, and some other elements. 

Along with this week, students will read chapter 5 in the textbook and complete the accompanying reading guide.  Students will complete three different web assignments this week.  One assignment allows students to practice making lists, while the second and third assignments allow students to view a website and make decisions about appropriate HTML usage to mark up text.  We will finish the week with 10 multiple choice questions about the lesson.  Students are welcome and encouraged to view the multiple choice questions before the assessment and plan their answers.  Students are considered "on pace" for the class if they have completed all elements from lesson 3 by the end of class on Friday.

App Development 1

This week, students will finish up their "Variables Challenge" formative assignment.  For this assignment, students can choose to work alone or in pairs to work with a provided app framework.  Students create variables and use them within the app to display text on our app's storyboard.

Once this is complete, students will work on their first summative app assignment: "Hello World".  For this assignment, students will work to produce their own working app.  For this app, students will practice adding buttons, labels, and pictures.  For an extension, students can work with adding a new slider feature, adding some pictures, and modifying some of the elements programmatically (through the code).


AP Computer Science Principles

This week, students will have all four class days to work on our "Scratch" final project.  For this assignment, students can use their creativity to create a game or a story that adheres to the app's requirements.  You can view a sample Scratch story project here.  In order to practice for the AP requirements of the performance tasks, students will create a quick video and write a short summary of their app.  Later on in the year, students will be given a minimum of 12 hours of class time to complete this "Create" task, which includes creating an app, making a short video highlighting the best features of the app, and writing up a few summary responses.  While students are working on the "Create" task, I am not allowed to give feedback on specific student work.  During the practice task this week, I will focus on giving feedback in order to help students prepare for their best work for this critical performance task.

Friday, September 8, 2017

What's Going On? September 11th through September 15th

AP Computer Science Principles

This week, we will continue working with Scratch.  This week we will focus in on how functions/methods are used in Scratch as well as the role of variables.  Our Project Lead the Way curriculum has some terms for variables that can help us put their use into perspective.  Some of those terms include:
  • Fixed: Set and never changed
  • Most Recent: Changes dynamically as the program is running
  • Accumulator: Keep a running total
  • Aggregator: Collection of something, usually in a list
  • Best-So-Far: Similar to most recent; doesn’t rewrite value unless better than previous value
  • Stepper: Iterating through a loop; which step you are in the loop; first time through the loop
  • Walker: Iterating through a loop; will change to a value depending on which step in the loop
  • One-Way Flag: waits for something to happen in the running of the program to indicate that a certain point has been reached; For Example, in Mario Kart, once you go halfway you hit a checkpoint. You don’t start at the beginning, you start at the checkpoint.

This will lay the groundwork for when students have the chance to design their own Scratch project during the following week.

App Development 1

This week we will take a look at how to create variables in Swift.  We will talk about the type of information different variables can hold such as:
  • Integers (whole numbers)
  • Float (decimal numbers)
  • Boolean (true and false)
  • String (words)
We will also be completing a "Flashlight App" in class this week as a group.  Students will participate in this app as a "Hackwich".  In this "Hackwich", one student will act as the driver for the app.  The students will then be able to apply the same concepts in their own app.

Web Page Design

As students learned earlier, this course is offered in partnership with WCTC.  Students who choose to enroll in this program and earn a "C" or higher in the class will earn free credit through WCTC.  We will be completing the paperwork to enroll in the program this week.  Please talk this over at home to see if this is a good option for you.  Regardless of whether students choose to enroll in the WCTC program or not, all students will follow the same curriculum.

This week, we will finally get a chance to start creating web pages.  We will be working on Unit 2.  Along with this unit, students will need to read chapter 4 in the textbook as well as complete the accompanying reading guide to help pick out the most important concepts.  We will also have three web page assignments: 2A: Black Goose Bistro, 2B: Fix the Code, and 2C: Personal Web Page.  We will finish up the week with 10 multiple choice questions.  Students are considered "on pace" for the course if the unit 2 work is completed by the end of the week.

Students should have plenty of class time to get these items completed during class.  Students who need some additional time are invited to come in before school on Wednesday and/or Thursday from 7:00-8:00.  


Fun Fact: Debugging

This came through my inbox this week, from codecademy.com.  As we are getting our feet wet with the start of programming, we will surely come across some errors that we need to fix.  This is commonly referred to as "debugging".  I thought it was an interesting blurb about the origins of the term "debugging".


Monday, September 4, 2017

What's Going On? September 5th through September 8th

App Development 1

This week in app development, we will start to take a some of the elements that go into creating an app.  We will be exploring our software, XCode.  With this software, we will learn about the two parts necessary to create an app: the storyboard and the code.  The storyboard will determine what the app looks like and its features while the code will determine what happens in the app.  For example, this week we will learn how to place a button on our storyboard and then we will write some code that makes something happen.  This week, we will focus on creating buttons, labels and image views.




AP Computer Science Principles

This week we will start by reviewing our chapter 1 reading of the text, Blown to Bits.  After our discussion, we will dive into some programming concepts using the website lightbot.com.  This is a game-style programming simulation that will help students get a feel for writing code.  Once we have played with this site, we will move into another.  We will spend a couple of weeks investigating the Scratch programming platform.  Since this course is all about the underlying principles of computer programming, we will explore a few different languages and talk about the connections between them.



Programming the Web 1

This week, we will continue our study of unit 1: Web Basics.  During class on Friday, we started to talk about different ways that web designers may choose to create a website: with a fixed-width layout, a liquid layout, or a responsive site.  We will start to look at some of the websites we visit every day and decide how the web designer chose to create them.  During Wednesday's class, students will complete our first project 1A.  For this project, students will find an example of each type of layout.  Additionally this week, students will see the largest reading assignment for the course.  Since it is such a lengthy assignment, students will break up into small groups to summarize portions of the text.  The class will complete a "gallery walk" in order to get a brief synopsis of the content.  During this time, students will complete their weekly reading guide in order to prepare for Friday's ten question review question summative assessment.