CS101 – Introduction & Overview – Notes

CS 101 Course
Instructor: Dave Evans

Introduction & Overview

Topics: Learning the Fundamental Ideas & Concepts of Computer Science, Reading & Writing Computer Programs, Understanding How To Solve Problems & How To Build A Search-Engine.

Important Points

Overview –> Units 1-3

Course Notes

  • Computer Science is all about solving problems. Specifically, we’ll be dealing with computational problems, which can be solved by using algorithms.
  • We’re going to be starting out by using the programming language: Python
  • Python is an easy language to learn. It is commonly used in entry-level CS courses.
  • In this course, we’ll be going over certain topics such as Learning the Fundamental Ideas & Concepts of Computer Science, Reading & Writing Computer Programs, Understanding How To Solve Computational Problems & How To Build A Search-Engine.
  • We’ll be learning how to implement these concepts by actually getting our hands dirty. We believe that you learn better by doing. As such, we will be solving problems and applying what we learn by building our own search-engine.
  • A search-engine is a program that searches for, identifies and finds a particular set of items inputted to it. We visit these programs frequently when we use websites like Google or Bing.
  • As we’ve stated before, computer science is about how to solve problems. We can solve problems by first dividing them into parts. We will do this with our search-engine by breaking it into smaller pieces and then precisely and mechanically describing a sequence of steps that you can use to solve each piece.
  • To create our search-engine, we’ll be delving into three main areas: Find Data, Build an Index, Rank Pages.
  • In this course, we won’t be delving into everything you need to build a search-engine as complex or as powerful as Google—but we’ll learn the basics and learn a lot about Computer Science along the way.

New Category for Udacity Course Notes!

Yesterday, I enrolled to Udacity’s CS101 course. CS101 introduces the basic concepts and fundamentals of Computer Science. You know, stuff like Variables, Functions, While Loops, etc.

The instructor is Dave Evans, Professor of Computer Science at the University of Virginia.

I will be taking notes during each unit/lesson. I’ll be posting them on this blog under the category called Massive Online Open Courses. If you want to learn more about MOOCs, just click here.

And stay tuned for notes!


So I haven’t really posted much on this site. Reason being: I’ve been busy trying to find a job. No, I’m not homeless—not yet anyway. Luckily, I’ve managed to find a job working from home. It’s a tech support gig. The pay is not grandiose by any means, but at least it’ll allow me time to focus on what I really want to do—which is learn web development. (more…)

Learning Python For Fun

So I’ve decided to learn Python. I’ve bought a book called “Python Programming: An Introduction To Computer Science”. The thing about this book is that it is more of an introduction to programming in general than Python. It only uses Python as a starting language. I’ve always wanted to learn how to program ever since the 90′s, when I used to mess around with scripts in mIRC (anyone remember that chat program?). I also used to make mini-games using Game Maker which has its own language based on C. So I’ve had a little bit of experience with coding. Not to mention, I’m pretty fluent in HTML, CSS and messing around with WordPress themes. I even made my own once (for a friend). So, I’m not a total beginner when it comes to code.

Still, I’m pretty much a novice on actually understanding more advanced concepts of programming. What I’ve done in the past can be considered child’s play compared to the stuff most web developers do nowadays. I want to learn how to do stuff like that, though it’s probably going to take me a while. I haven’t had the time to master a specific programming language enough that I can confidently say that I’m an expert at it. And I’m not really the programmer type. I mean, I don’t know many languages in real life, nor is math my forte. However, I do like the logical reasoning behind programming. I’m pretty good at that.

So we’ll see how far I go with this. I’m confident if I put time and effort, learning Python will be a breeze.

What is a Computer? CompTIA A+ Objective Review

ComputerA computer can be defined as a machine that performs four basic operations: input, processing, output and storage. These four operations are known as the information-processing cycle. It is what every computing device does.

In a way, a calculator can be considered a computer. It matches the description. For one, it is a machine. You input numbers, it processes the information, displays the results and then stores the calculations until you hit the clear button. Even us, human beings, can be considered computers. We are biological and yet we exhibit the same characteristics. We are bombarded with information every day. We process it, store it in memory and then act based on that information (which results in our decision-making). (more…)

Following the exam objectives @ CompTIA A+

So I watched the first few videos of Professor Messer from ProfessorMesser.com and I’ve got to say, I’m impressed. The guy knows what he’s doing and his presentations are very professional-looking. Here we have somebody who took it upon himself to make videos and go through each topic of the exam for free. There’s no catch.

Well, one of the first things he says is to download the exam objectives from the CompTIA website and go over them when studying. I was confused, seeing as how my professor never told us the CompTIA site had this to begin with. Well, I’ve downloaded them and it has a list of objectives to study. Think of it as a study guide for the exam. The first part of the list focuses on the BIOS and internal components of the computer. So I’m focusing on studying these parts first. Then I’ll study the rest.

Thanks to the videos, and the books I’ve bought, I’m slowly starting to feel more prepared to take the exam.

Mr. Mondello’s Classes @ UCC

Today’s class was an eye-opener. I know now that I won’t learn as much as I had hoped from Mr. Mondello. I think I can learn more by reading the first few chapters in my book by myself than actually sitting in his class for 3 hours. Seriously, repeating something off a slide is not teaching, it doesn’t matter how many times you spew it. Knowledge can’t be forced. And the language barrier between him and our little group doesn’t help either. Anyway, I know now that if I’m going to learn anything at all in this class, I’m going to have to do it my way. That means writing down whatever subject or term is thrown at me, going home with it and dissecting it online. (more…)

First Classes @ UCC – Intro to CompTIA A+ Course

So the past few days have been interesting (to say the least). The class I’m attending at UCC is kind of small. There are only 3 other students aside from me. When I first registered, I thought that it would be a little more crowded, but perhaps this is a good thing. We’ve become acquainted much faster than an average-sized class and we all pretty much know each other now. If we need notes or help with something, we just talk amongst ourselves. Honestly, I enjoy being in such a tight-knit group.

The class is 3 hours long. It has its highs and lows. We’re being taught some introductory concepts such as Ohm’s Law, the difference between Hardware & Software, and how to troubleshoot some basic problems. It is interesting, though not new to me. If anything, it just verifies what I’ve already known through years of experience. Computer hardware isn’t that hard to learn. Basically you just figure out which components are the cause of the problem. If they’re at fault, you can either replace them or try to “fix” them, but the majority of time, most people just replace them. (more…)

CompTIA A+ class starts tomorrow! (9/20)

So my class on IT essentials and computer hardware starts tomorrow at 6pm, which is the start of the 3-month training program at UCC, the college I am in. This is going to be a great learning experience for me and I know I’m going to enjoy it. I’ve already bought the books I need and I’m eager to get hands-on experience at the campus lab. Once I get A+ certified, after passing the two exams, I’m planning on going job hunting for an entry-level position either in Help Desk or Desktop Support. I’ve also made a thread on the TechExams.net forums about it. You can read it here: http://www.techexams.net/forums/general-certification/93381-anything-other-than-entry-level.html

Needless to say, getting a job is easier said than done. I need all the help I can get. The best part is we live in an age where information flows quickly and social media plays a big part in job searching. For example, LinkedIn and Monster.com are two tools in my arsenal that I plan to put into use once I finish the program. Using the Internet, I’m very optimistic that I will find a position somewhere. I will just have to keep trying if at first I don’t succeed. (more…)