Thursday, August 30, 2007

Class Summary: Tips for compiling our first Java program

This is what we found when compiling and running our HelloWorld programs:
1) We don't have to retype everything. We can copy and paste lines, then modify the lines we paste.
2) Watch out for hidden characters which cause BlueJ to get stuck compiling forever.
3) Make sure all letters/characters are typed exactly as you see them in a CASE program.
4) The name of your BlueJ class when you select "new class" must be typed exactly the same as the name specified in the Java program line, "public class."

Wednesday, August 29, 2007

ICA-CP: 8/30/2007

Good morning!

Today, we're going to spend some time analyzing the parts that made-up our first HelloWorld java program. As a reference, there is a very similar program called "Simple Program" which prints "this is a simple program" instead of "Hello World". As a reference for our class, the line by line analysis of the "Simple Program" may be found at this link: http://us.geocities.com/gnashes30/java/tutorial/sim_prog.htm

So, our first program printed some information. For our second program, we need to get some information from the user. In order to do this, we will need to use a Java library called TerminalIO. Before we may use the TerminalIO library, each of us needs to make sure it is installed in BlueJ. To check if TerminalIO is installed on your computer, start BlueJ. From the main BlueJ screen, click on Tools --> Preferences --> Libraries. In the Libraries screen, you should see this line in the white area of the screen if the TerminalIO library is loaded:

c:\BlueJ\lib\userlib\TerminalIO.jar(loaded)

If TerminalIO isn't loaded on your computer, we will need copy it from the R drive and install it in BlueJ in order to do today's programming exercise.

Class Info: What is SEXI?

SEXI is an acronym for:
State
Explain
eXemplify
Illustrate

Using SEXI to explain SEXI ...

State: SEXI is a four-step method for explaining ideas, concepts, how-to's, and other information to others. The four steps are state, explain, exemplify, and illustrate.

Explain: The SEXI method was created by the Foundation for Critical Thinking as a tool to help critical thinking individuals explain ideas to others. It helps the critical thinker to understand a topic before trying to share the information about it with others. The State step is a brief definition of the topic. The Explain step is where further details and descriptions are provided. Exemplify is where examples are given. In the final step, Illustrate, the critical thinker helps others understand the topic by drawing analogies or making comparisons to other familiar concepts.

Exemplify: We used the SEXI method to describe White Rabbit candy (which we were all eating today). State: White Rabbit is a bite-sized piece of hard candy. Explain: It is a Chinese candy made in Shanghai. It is creamy and white, and has an edible rice paper wrapper. It also comes in a chocolate flavor. Exemplify: Examples of White Rabbit are the original and chocolate flavors. Illustrate: White Rabbit has a unique flavor that is similar in uniqueness to Tigger in Winnie the Pooh. Tigger said, "But the wonderful thing about Tiggers is I'm the only one." There is only one White Rabbit candy.

Illustrate: We use SEXI like we use an algorithm. It is a step-by-step method for explaining ideas and concepts to others.

Tuesday, August 28, 2007

ICA-CP: 8/28/07 - First Program

Good morning!

Today we are going to experience a landmark event! TODAY we are running our first Java programs.

First, some concepts:
1) We will use the CASE method, better known as code reusability.
2) Even though we use the case method, each of you needs to use critical thinking skills to understand what your Java programs are doing.

Next, the instructions to create, compile, and run your first program are in a Acrobat Reader file located on the R drive in Clingingsmith,Debbie\Computer Programming Class\HelloWorld. The name of the file is: HelloWorld Instrictions.pdf
You must go to this link to get the code for one of the steps:
http://java.about.com/od/beginningjava/l/aa_hel_wrld_1.htm

Once you have successfully run your first program (CONGRATULATIONS!), get one of our Fundementals of Java books and create a program similar to the one on page 35. You may be as creative as you wish. But, print your best picture for me. Save your program on your flash drive. Name your program: "FirstProgram.java."

So, what you should turn into me today: a printout of your best "Hello Java" picture for me. Make sure your name is on your printout. Save the Word file with your picture on your flash drive. Name it "First Program Output."

I will be collecting your flash drives once a month to make sure all of your work is stored on them. You should have the following files on your flash drive by the end of today:
1) Your pair programming pros and cons
2) Your team's algorithms for tying shoelaces and making a cheese sandwich cracker
3) Your FirstProgram.java file
4) Your First Program Output.doc file

Class Summary about the First Program from last year's CP class

These are words of wisdom from last year's computer programming class. This is what they learned after compiling their first programs. Read carefully what they discovered -- it may save you some time and trouble.


Tuesday, August 29, 2006
Class Result 8/29/06: What we found running our first Java programs


Our reactions:- Java is not graphic (1 dimensional)
- Lots involved
- Takes forever
- Time consuming
- Computers take what you type literally
- Java is picky -- can't misspell or drop semicolons, etc.


How to print the Java output screen:
1) Make the window active by clicking on it
2) Press ALT-Print Screen
3) Open Word
4) Paste the stored screen into Word
5) Print the Word document

Other lessons learned about Java:- Make sure there are no spaces in a class name (HelloWorld and not Hello World with a space, for example)
- Make sure you save your project on the local computer, in My Documents for example, and not on the R drive. If the project is on the R drive, it will never finish compiling.

posted by Debra at 3:06 PM | 0 comments

Friday, August 24, 2007

ICA-CP: 8/24/07

Good afternoon!

It's time for review, then a quiz. Remember, whatever is in the class blog is fair game for a quiz.

Thursday, August 23, 2007

Class Summary: Pair Programming Rules

Our class defined our Pair Programming rules of conduct today. They are:

1) Good communications, which involve talking through issues and listening.
2) Respect each other's opinions.
3) Give constructive feedback in a positive way.
4) The team will decide who will be driver and who will be navigator, and when to switch roles.
5) Everybody on your team will have copies of all team files on her flash drive.

Class Summary: Algorithm definition

State: An algorithm is a step-by-step set of instructions to accomplish a task
Elaborate: We use algorithms often. If we microwave a dinner, we follow steps to take it out of the box, put it in the microwave, etc. In the case of computers and computer programs, instructions need to be very detailed. When we write a computer program, first we create the algorithm (or step-by-step instructions). Then we code the algorithm into a computer language.
eXemplify: An example of an algorithm is a recipe for cooking brownies. The recipe gives us a list of needed ingredients (or given materials) and a set of step-by-step instructions for using the ingredients. In the case of a computer program, we are given the start or beginning state (like being given a list of ingredients) and then create the step-by-step list of instructions.
Illustrate: Creating an algorithm is like planning a party. First we decide on the basic givens: who is hosting the party; where it is to be held; and who is to be invited. Then, we create the step-by-step list of activities needed to make the party successful: buying food, getting music, inviting guests, etc.

Wednesday, August 22, 2007

ICA-CP: 8/22/07 - Algorithms

Good afternoon!

Today, we are finishing up our pair programming intro by creating a set of class rules for ourselves. Then, we will begin our exploration of algorithms. To help us learn the new concepts we will be encountering, we will learn a critical thinking tool called SEXI.

State: SEXI is an acronym for a four-step process which stands for State, Elaborate, eXemplify, and Illustrate.
Elaborate: SEXI is a thinking tool created by the Foundation for Critical Thinking at Sonoma State University. For more information on the foundation, here is their web site: http://www.criticalthinking.org/. In the State step 1, we give a summary or short definition of the concept. In the Elaborate step 2, we give more details. With eXemplify in step 3, we provide examples of the concept. With step 4, Illustrate, we give analogies using words "like" and "as." An example of an illustration is "Life is like a box of chocolates."
eXemplify: As an example, I could use SEXI to explain Walk-A-Thon to an 8th grader. (State) At ICA, we have a year fundraiser called the Walk-A-Thon. (Elaborate) The whole school participates in the Walk-A-Thon. We walk different routes, which in the past have included walking through Golden Gate Park. To raise money, each student gets sponsors to donate for each mile walked or for completing the whole course. The classes compete against each other to see who raises the most money. In the past, we have used the money raised to buy computers for student use at school. (eXemplify) For example, last year we walked through Golden Gate Park, and raised almost $1300.00 for ICA. (Illustrate) The ICA Walk-A-Thon is like an aerobic workout for a good cause: we raise our fitness levels and money for the school at the same time.
Illustrate: Knowing how to use SEXI is like knowing how to use an iPod, Windows Media Player, and a radio. We want to listen to music, but we have different choices in making it happen. With SEXI, we have another way of explaining ideas.

Monday, August 20, 2007

Class Info: Flash Disk Policy and Setting Up Your Flash Disk

Flash Disk Policy
Your flash disk is for backing up programming files in the Computer Programming class primarily. It is not for storing music or pictures. It is for your Java programs and other assignments. You may use your flash disk for work in other classes. However, if you run out of room, you must erase other class work in order to make room for computer programming work.

The flash disks have 256 megabytes of space and cost $12.00 in the Spartan Store. You are required to bring your flash disk to every class. If you lose your flash disk or destroy, you must replace it. The first one is being given to you as part of your computer programming class supplies.

Care of Your Flash Disk
Your flash disk is an electronic device. Electronic devices to not like water, soda, dirt, or food in or on them. Please keep it away from sodas, especially.

When you plug your USB flash disk into a computer running Windows XP or Vista, the computer should automatically recognize and make it ready for use. The indicator light should be lit. Like plugging-in an iPod or digital camera, you should see little messages display on the monitor indicating that the computer found the device. Once all of the messges stop displaying, your flash disk should be ready to use. You may find it in My Computers.

When you are ready to disconnect your flash drive, you MUST eject it first. You can tell if the flash drive is ejected if the light is not lit. If you don't eject your flash drive, you run the risk of blowing it up! To eject your flash drive, open the My Computer icon with a left click. Find the flash drive icon. Right click on the flash drive icon, and a drop down menu should appear. Select Eject from the menu. Once the computer is finished with the eject process, the light on the flash drive should be off, and the name in My Computer should display Removeable Disk.

Renaming Your Flash Drive
To rename your flash drive, open the My Computer icon with a left click. Find the flash drive icon. Right click on the flash drive icon, and a drop down menu should appear. Select Rename from the menu. The name box for the flash drive will change to allow you to type a new name. Use your last name as the new name for your flash drive.

8/20/2007 - Welcome to the new school year!

Good afternoon!

As part of our check-in every day, you should read our ica-cp blog. Announcements, information, and our daily activities will be posted here in our blog.

For today, we are going to complete our pair drawing exercise. If you would like more information on pair drawing, here is a good link: http://www.industriallogic.com/games/pairdraw.html

Also, your first blog is due today. It is worth a maximum of 10 points, and must be 125 words or more where you reflect on the day's class topic. Also, you will receive 10 points for making your own blog. To make your own blog, go to www.blogger.com Use this namng convention: ica-[your last name]. If you name your blog something other than ica-[your last name], points will be deducted.
For example, if S. Janice Therese were in our class, her blog name would be ica-wellington.

Remember, our class meeting routine will be:
5 min. - Check-In
65 min. - Work-Time
10 min. - Check-Out and time to work on blogs.

Welcome to the new school year!

P.S. For 5 extra credit points, write the sentence, "I read our class blog first thing today!" on a piece of paper, put your name on it, and hand it to me by 1:55 PM.

Wednesday, August 15, 2007

ICA-CP First Day Handout 2007-2008

ICA Computer Programming Class

Class Meeting Policy
1) For individual assignments, each student must turn in her own work, but may consult with other students.
2) You must bring your flash drive with you to every class meeting.
3) The Internet and class time are to be used for programming class related assignments only, not for playing games, reading email, or working on assignments from other classes.
4) No food and/or drinks are allowed over keyboards and computers.
5) Each student is responsible for keeping backup copies of her work on her flash drive, on the R drive, or other storage medium.
6) Each class meeting, the first activity of the day is to read the ICA-CP class blog located at http://ica-cp.blogspot.com/. Each student is responsible for any announcements made in the class blog, whether she was at the class meeting for the day or not.
7) Students may email Mrs. Clingingsmith at dclingingsmith@icacademy.org
8) Each student must set up a blog that is easily readable.

Homework Policy
1) After each class, each student must write a blog reflecting upon computer programming/engineering ideas she learned in class that day. The reflection must be at least 125 words long. It is due before the next class meeting begins. Generally, the blog is homework, and class time will not be used.
2) Programming class assignments may involve out of class time if the student is unable to finish them during allotted class time.
3) Some homework assignments will involve working in teams. Other assignments will be individual efforts.

Grading Policy
1) Grading formula
1a) 40% programming assignments
1b) 20% daily reflection in a student’s blog
1c) 25% quizzes and tests
1d) 15% quarterly and semester projects
2) Assignments
2a) Assignments are due by the date and time specified.
2b) Late assignments are subject to a 10% penalty for each class period missed.
2c) Assignments are not considered to be “turned in” unless they are properly named and in the correct directory on the “R” drive or other designated storage medium.
3) Blogs
3a) Each daily class blog entry is worth 10 points. If the blog entry is written after the due date and time, points will be deducted. Example: If class begins at 10:00 AM, and a blog entry for the previous class meeting has a date and time stamp of noon, it is late.
3b) If a student is absent from a class meeting, she is excused from writing a reflection in her blog for that day.
3c) Student blogs must be easily readable. If the blog is not readable, credit will not be given.
4c) Each student must read the class blog whether or not she attended class that day.

ICA Computer Programming Class Outcomes
The computer programming student will be able to:
1) Identify a set of program requirements by watching and/or interviewing subject matter experts.
2) Write a step-by-step algorithm from a set of program requirements. Or, write an algorithm from an existing Java program which may including observing special application computers such as microwave ovens, washing machines, and robots,
3) Design, code, test, and debug a syntactically and semantically correct Java program from an algorithm using an editor such as BlueJ.
4) Work on programming projects in collaborative teams, using software engineering methodologies such as software life cycle and code reusability.
5) Use a critical thinking tool, SEXI, to explain programming and computer concepts through different mediums such as podcasts or a blog. SEXI is an acronym for State, Explain, Elaborate, and Illustrate.
6) Identify and explain major components of computer hardware.
7) Identify and explain the relationship between computer hardware, the operating system, and software.
8) Identify and explain major concepts in Object Oriented Programming such as classes, objects, arrays, and inheritance in the Java programs she writes, for example, using comments in Java programs to identify code segments which implement Object Oriented Programming concepts.
9) Write a daily reflection in a blog.
10) Write and run Java programs for a variety of platforms including PC computers, computer simulations, and robots.