Tuesday, January 15, 2013

Week 2 - CS106A

The goal of week 2 was to Watch lecture 3 and complete problems 3 and 4 of Assignment 1.

Lecture:
Common Errors in Karel:
 1. Infinite loops - nothing allowing the program to stop.
     I keep finding my self in an infinite loop and I'm beginning to find if entertaining.  Basically, I need to make sure I always have a method or a command to confirm a program will end.
2. Off By One Bug (OBOB)
    I actually had this problem in the Column problem.  I was able to notice my error and debug the code properly.

I learn it is extremely important to make sure I place comments at the beginning of a program and at the beginning of any method.  This must be done to not only remind me of the pre-conditions and post conditions of a code but to better explain my thought process to another programmer working on the program.

The lecture did go over decomposition and Order of Operations
Top Down Design
Bottom up Design

My brain seems to be programmed for Bottom Up Design.  I seem to like to find the smallest pieces of the puzzle and think; how can I use these pieces to achieve my goal.  In all actuality  I HAVE to retrain my brain to use Top Down Design. That way, I start with the goal and then break it down to everything I will need to complete it.  So, I'm working on my thought process and I'm sure I'll get it here soon



Thursday, January 10, 2013

CS106A - Week 1

The CS106A course is a little different than the last course I took.  In this course I actually have a syllabus  hand outs, required reading and assignments.  I can't get all of these done in one night.  So, I'll be switching over to weekly posts.

Instead of typing out all of my thought, I have my webcam up and running and I'm going to be mixing typing w/ video.  That way I can sum up my learning progress in a video and some quick words.

Here is what I have completed so far with this weeks lesson:
Downloaded and installed Eclipse
Downloaded and installed on to my Kindle Fire
 1. Karel the Robot (finished)
 2. Art and Science of Java
Watched and took notes on Lectures 1 and 2
Completed Assignments 1 and 2


I know my video isn't quite the best but it's only my second one and I'm curtain I will get better over time.



Wednesday, January 9, 2013

First Video


This is actually my first video blog.  I just wanted to break down my process and set forth my goals and expectations.


Thursday, January 3, 2013

CS106A


I'm starting the the Stanford Course CS106A.

I've downloaded and printed the Syllabubs and the majority of the handouts along with the majority of all the course material.  I've alo downloaded and installed Eclipse and JAVA 1.6 JRE.  Also, I have put the required readings, The Art and Science of JAVA and Karel the Robot onto my kindle fire.

With the required readings, I'm going to put my current reading on hiatus and follow the course recommendations.  This way, I wont fall behind.

I did something today I thought i would never do.  I purchased a web cam.  I'm contemplating using the web cam to start a video diary that will coincide with this blog.

Programming books

Here some recommended books for programming

1.   How to... Learn To Code. Get Your Dream Job. Change Your Life. - Author: Murashev, Natasha
2.   How to Count (Programming for Mere Mortals) -  Author: Frank, Steven
3.   Effective Programming: More Than Writing Code - Author: Atwood (Coding Horror), Jeff
4.  http://codingforinterviews.com/books


I'm sure I'll me adding to this list over time

Wednesday, January 2, 2013

Rethinking the Process

I'm about to start Lesson 2 of course 2.

These lessons are getting more and more difficult to follow because I'm not seeing any practical applications for what I'm learning.  With the lack of practical applications, I'm finding that my motivation and thirst for learning, is beginning to lack.  So, while the fear of being demotivated looms above my head, I have forced myself into a fork in the road.

If I take the road to the north, I will stay my course, finish the current course and move on.  I fear doing this due to the fact my mind and heart wont be fully involved.  Thus, I wont be absorbing knowledge to the fullest.

If I take the road to the south, I leave this course and move on to the Stanford course my mentor originally recommended.  This way, I'm still continuing to learn and keeping myself motivated.

I have somewhat of a biased opinion on this, if you haven't already figured it out from above, I've already made up my mind.  I'm going to move on to another learning medium.  However, I will be returning to this course to finish.

Also, I'll be starting a new blog for the new courses.

Sunday, December 30, 2012

Beginning of Course 2

Course 1 is over and Course 2 has begun.  Course two did come with a bit of a warning or maybe just food for thought.  The statement was pretty simple: This is where the true learning will begin.

So, lesson 1 of Course 2 has come with somewhat of a huge information overload.

Here is the breakdown
1.1 Tic Tac Toe with AI
1.2 The need to initialize data
1.3 Intro Constructor function
1.4 Intro Pass-by-Reference and Pass-by-Value
1.5 Intro to Stack
1.6 Intro to Push and Pop
1.7 How a function Call works
1.8 How function return values work
1.9 Intro to Casts
1.10 A new way to understand memory and data types

The beginning of this lesson was a little misleading   When I saw "Tic Tac Toe with AI.  I was under the impression I would be creating a Tic Tac Toe program.  I was grossly mistaken,  because it was displaying the way to set up the grid.  Then the lesson moved on to initializing and rendering data for the game board and the initial stat of the constructor function.  At that point, the lesson moved and there wasn';t anymore connection to a Tic Tac Toe board.  I was able to easily grasp the concept of Pass-by-Reference and Pass-by-Value.  On the other hand, I did find the Stack unit extremely interesting and its ability to assist functions with communicating with other functions through Push and Pop.  I then learned how function Call works and how the function return value works.  At this point, it gets a little hazy.  I'm not sure if its information overload or I'm lacking practical application but I'm sure I'll figure it out.

I was really looking forward to building a Tic Tac Toe game and playing