I Did Not Thrive in IST263.
Sure, HTML was straightforward enough. It was like the monochromatic storyboard sketch of web development, providing only what was necessary to push the project along. Of course, next came the oh-so-glamorous CSS, ready to jazz things up. This is already where things got a little disconcerting for me, mostly because then I actually had to be organized.
I made an effort, but I just ended up tossing the words “div,” “container,” “class,” and “id” wherever. At some point along the way, we had thrown Bootstrap into the mix. It’s got a wonderful grid system (really useful, but again my weak organization skills) and responsive helpers. Like those floats! I could not for the life of me float anything in any direction ever! That’s not even an exaggeration.
Finding a Solution
Now, I don’t want my inability to create a static web page to reflect badly on my professor. My great instructor would always help me out whenever I could pull enough ideas together to formulate a question.
Really, it was all on me. My biggest problem was that I, like other college students who prefer taking naps in the middle of the day, do all my work at night. I couldn’t reasonably expect my professor to respond to my frantic 2:00 am emails asking why my align-center wasn’t being applied to my <divclass=”ThePartWithWords”>.
I could, however, always rely on my peers. My older brother, in particular, was incredibly helpful in these times of distress. A software developer by profession and good friend by character, he’d try to help me out — via text message. As I’m sure you can imagine, SMS was not the ideal medium for those conversations.
He knew how to code well, and I’m sure he could’ve effortlessly blown through all the web design projects I struggled with. But what barred him from being able to show me exactly what I was doing wrong was a lack of connection between his thoughts and my HTML document.
GitHub is an online collaborative platform that allows software developers (and IST263 students) to share their projects with others. Those on Github already may have some helpful edits in mind — essentially, a web-based version control system. It documents all the changes made to the file and allows more than one person to work on the file simultaneously. GitHub is the GoogleDocs of software development.
Your projects, or repositories, are stored on the GitHub server, so no matter what computer you’re working from, you’ll be able to access them. When you first create a repository, you’ll initialize a README, which is just space where you can provide a little information about your project. There will also, by default, be a master branch.
What are “branches”?
Branches are what make GitHub so groovy. The master branch is where you’ll upload your initial code, the first draft. Is your hard drive filled with files with the various labels including the word “homepage”? GitHub eliminates this kind of saved-and-resaved chaos.
It allows you to take “snapshots” of the master code and save them as another branch. Make all the changes you want to the snapshot, and even if everything goes disastrously! You can delete the new branch and just take another snapshot of the master branch.
So now you have your master branch and a separate branch where you’ve made changes. This is when the magic happens. For the sake of collaboration, you can open a “pull request,” which is when your branch is presented to the GitHub community, ready to be reviewed.
There’s even the option of @mentioning someone, if there’s a certain somebody’s advice you’re looking for in particular (say, a talented older brother who happens to be a software developer). Voila, now you have an entire discussion surrounding your project involving all the talented programmers you’ve never met.
After you’re satisfied with the feedback, make a couple more edits if necessary and then merge the edited branch with the master. Boom! Done.
GitHub takes some exploring, but once you’ve watched your share of tutorials and read a number of articles, it’ll prove to be a useful tool. Even if you’re just using GitHub for it’s most basic features, you’ll find yourself spending less time frantically emailing your professor at 2:00 am and more time enjoying the learning process.