Course Intro - IMPORTANT

Heya folks!

Before you begin the curriculum, here are some answers to FAQ about the program.

What will be the focus of the course?

This course will focus on diving deep into Ruby fundamentals. It will serve as an important stepping stone to the Web Development course. It will follow the “42 style” of learning. By understanding core concepts well, we’ll become better programmers, not just better Rails/React/Django developers.


What will the curriculum look like?

The curriculum will be designed in a similar fashion to the “C Piscine”. There will be an amalgam of problems that you’ll work together to solve. These problems will not be difficult, but getting the right implementations will be.

Once you solve an exercise you’ll correct at least 3 of your peers’ work. Almost every piece of code can have potential improvements. If the code is “perfect” in your eyes, you need to at least provide an alternative way of writing it. This is the meat of the program. You’ll get the most out of it in this process.

By the end of the curriculum, you’ll have a chance to work on a real world Ruby script/program of your choosing.


How long will the curriculum take?

I estimate it will take 1 to 2 months to complete the curriculum. To achieve this, it’s important that you keep a good pace. If you can’t figure something out in 4 hours look at a solution. Don’t get stuck. You need to move onward.


How much time do I have to put into it?

I highly recommend you put at least 15 hours per week on this course. But if you’re hard on time, don’t fret. You’ll simply take a little longer than average to go through it.


How will feedback work?

We’ll be using a new Github repo for all our exercises. Feedback for each exercise will be left as a Github Issue on the repo. Each piece of feedback should have a strong focus on code cleanliness, organization, and best practices. Getting the right solution is only 20% of the exercise. You’ll be judged (and will judge others) by how well the implementation is.


Who is this course for?

We will be programming at a high level of abstraction. This is typically the kind of programming needed for building a company or information system. If this is something that interests you, this course might be for you.

In real world Ruby, you’ll have to shift your focus from algorithms, memory management, and other low-level stuff, to code organization, cleanliness, naming, and other high-level concepts.

On a side note, if anyone is starting to feel like programming may not be them, then this course might convince them otherwise. I can attest to this through my own experience.


Will this course help me get a job in the industry?

In short, yes. But note that this course will not intentionally help you pass interviews. There will be no algorithms, no whiteboard coding, no binary tree exercises. It will aim to make you a better programmer in the real world, not the interview world.


Do I need to start on February 27th?

No. You may begin the course whenever you want. But as soon as you begin, make sure you have enough time to work through the problems in a timely fashion. Momentum is an essential factor.

Also, it might be better to wait for the entire curriculum content to come out if you plan to “blast” through it. I estimate the entire curriculum will be available by March 17th. Otherwise, you can complete it as the content gets updated.


How important is the pre-requisite material?

Even though I’ve said the pre-requisite material is not mandatory, I strongly recommend you go through it. This course will follow the “42 way” of diving head first into exercises. Having a head start will improve your flow tremendously.


I know C. Ruby will be easy! Right?

Most of you got introduced to programming through C and have heard stories about how the transition from C to a high level languages is easy peasy. I can assure you, it is not. It will feel like it is, but that feeling is a lie. High level languages are filled with important concepts that take time to learn.

I still learn new things every day about Ruby that make me feel like a total noob. So if you decide to take this course, make sure you free large chunks of time to work on it.


How can I help?

One of my biggest concerns is that despite having the curriculum ready, students won’t be able to setup their work environment correctly in the lab computers. If you find a good process to setup a VM with the correct ruby environment in the lab computers, please share it with us.


Will there be any gamification?

No. You either learn it, or you don’t.

Complete and Continue  
Discussion

2 comments