Tuesday, March 30, 2010

An Overview of Computers and Logic: Part 1

Fundamentals of Computer Programming is the name of the class that I am currently taking. Basically is it course that teaches you how to design a program using 'visual representations of programming structures', which means instead of actual writing code for a program you use pictures to demonstrate how the program will work. Pseudocode is also used to represent programs, which is using normal language to represent the logic. I will try to include examples of 'visual representations' and pseudocode along my journey.

The first chapter is an overview of  computers and logic. In this post I will be covering the overview of computers and in the next post in the chapter 1 series I will go over the logic part. (I know that some of the topics in this post are really basic, and some many think " if you don't know this stuff by now, there in no hope for you. But I have just decided to cover the majors topics of my class regardless of the simplicity topic)

There are major parts of any computer system:
  • Hardware: equipment or devices
  • Software: programs that have instructions for the computer
Writing computer programs allows you to give the computer instructions. The instructions can be for computing numbers or using devices that are part of the computer or for most anything you need to computer to do.

There are four major operations in a computer:
  • Input
  • Processing
  • Output
  • Storage

Input devices are things like a keyboard or mouse, the tools that allow you enter data into the computer.
Processing is where the data is worked on; the data can be organized, validated, used to make calculations or any number of tasks.
Output devices are things like printers, monitors and speakers, so you can 'see' the data.
Storage, there are two storage categories: internal and external. Internal storage is located inside the computer, this would be main memory and random access memory (RAM). This memory is lost when you turn off the power to the computer. External storage is generally located outside the computer, these types of storage are hard drives and flash drives. The data on external storage devices are relatively permanent, if power is lost the data remains; in order to remove the data it has to be done manually.

The next post will cover the steps involved in the programming process.

Friday, March 26, 2010

My Logical Journey

During my senior year of high school all the seniors were asked to submit a quote to be included next to our picture in the year book. Up until the due date I had narrowed it down to two. I don't remember the one I ended up picking, but I did notice that it was on the big marque right as you come in the main doors of the school. (A fact that I did not know until after I submitted my senior quote.)
To this day I still remember the quote that I didn't pick:
"It is good to have and end to journey towards, but it is the journey that matter in the end."
This quote has really helped me to keep things in perspective throughout my life, trying to enjoy the journey and not just hope and wish to get to the end.

This blog is a record of my journey along the pathway of learning to program in C++. I took programming classes in college, but I just endured to the end of class rather than take the time to really learn and understand what was being taught. Now I find myself programming for a living and I have really grown to love it. I look back to my college wishing I had paid more attention to what was being taught in those programming classes that I took.

Now if I find myself wishing I had a little program to perform a task to make my day easier, I'll write one. Sometimes I won't stop thinking about it until I have it up and running, and sometimes after that I think of all the new and better features I want to add.

Right now I am taking a fundamentals of computer programming class for some formal training on how to program. I'm hoping by taking this class and others that I will gain the knowledge and skills I need to accomplish any programming project that I can think up.

My goal is to write two posts a week about what I am learning in my class. Each post will be like a checkpoint along my journey, and even though my end goal is to become a better programmer, I am enjoying each little step along the way.