Skip to main content

Week 4 start

It has been three weeks-what have I learned?

       Sugata Mitra's credo is true- at least when it comes to computer programming. Anyone can learn programming online: there is a plethora of resources. Additionally, programming offers instant feedback-it's unlikely you will 'break' your computer and your program either works or it doesn't.
       Since last week I have discovered the Odin Project, a free online curriculum for web development. (Check out this post for some advice on following the Odin Project.) So far, it has been fantastic; I have a real sense of progress and I am accomplishing something. I am halfway through designing the Google Search page (it's not as easy as it sounds).
   
      Here's an update on the courses I'm working through:

      • Saylor Academy-CS102: Not as well resourced as the first course. I'm having trouble with the C++ compiler, some of the Unit 1 resources are a little opaque, but otherwise I still feel confident about investing my time with Saylor Academy. I've moved on to Unit 2-I'm reading through Introduction to Programming using Java, an excellent, free book.
      • I'm also working through the Harvard course CS50x. If you've already done CS101 from the Saylor Academy (which I recommend), the first couple of weeks will be straightforward. The Java you have learned will be more than adequate to complete the Week0 and 1 problem sets.
      • R-Programming is not a well designed course, but I plan to finish it anyway. I would recommend learning Java, Python or C# on Coursera or CodeAcademy for the programming aspect and Foundations of Data Analysis on edX to learn some R.
      • Also, I've completed Weeks 3 of Inititiation a la programmation en Java, Computer Science 101(Stanford)  and Introduction to Logic. I discovered the Khan Academy Math courses which are well designed and learn from your interaction with them.
Am I closer to securing a job? Not at all- but I've learned a lot and I've finished each day with a sense of accomplishment.


       

Comments

Popular posts from this blog

Einstein's Logic Puzzle (SPOILER ALERT!)

On Monday I began working through a Discrete Math textbook in preparation for some courses I'll be taking in January. There was a beautiful logic problem in Chapter 1, apparently created by Einstein. This is one version of it: Five men with  different nationalities and with different jobs live in  con secutive houses on a street. These houses are painted  dif ferent colors. The men have different pets and have   dif ferent favorite drinks.  Determine who owns a zebra and  whose favorite drink is mineral water (which is one of the  favorite drinks) given these clues:  The Englishman lives  in the red house.  The Spaniard owns a dog.  The Japanese  man is a painter.  The Italian drinks tea.  The Norwegian  lives in the first house on the left.  The green house is  immediately to the right of the white one. The photogra pher  breeds snails.  The diplomat lives in the yellow house. ...

Job as Entry Level Developer

After 4 months of work, sometimes focused, sometimes not, I accepted a job as an Entry Level Ruby on Rails Developer yesterday. This is after starting with zero knowledge on November 1, last year. Beyond knowing a little about coding (but getting the definitions of  REST and AJAX wrong), what were the reasons for the job offer?  I think it was the meetup group I started in January that made me stand out from the rest. The motivation for the meetup group was to help me become a better coder and to indulge my teacher instincts. After some initial meetings at the library and my home, an IT hub in town offered to host us. This meant extra advertising and prestige for the group. After announcing the meetup group at an Agile meetup group for developers, I got some volunteers to give talks. The first volunteer offered a talk on Ruby. As I was comfortable with Ruby I prepared a coding tutorial .  After the tutorial, which was attended by some beginners and some a...

Algorithm Analysis - 1

Currently, I'm learning to perform algorithm analysis using Big-O notation. In one resource I found the following problem: You just dropped a box of glass toys and  n  toys in the box broke in half. You'd like to match the halves of the toys so that you could glue them together, but the only way to tell whether two halves belonged to one toy is to physically pick up the two pieces and try to fit them together. Express how long this matching process will take in terms of  n . The answer given is n^2 (n squared) with the following explanation:  You have to compare every piece with every other piece. If you have 1 toy and it breaks in half, you have 1 comparison to make. If you have 2 toys and they both break in half there are 4 pieces and you have to do 6 comparisons. If you have 3 toys, there are 6 pieces and you have to do 15 comparisons. If you have  N/2  toys, you have  N  pieces and you have to do N-1 + N-2 + N-3 + ... + 1 =(N)(N-1)/2...