Become a GitHub Pro

Become a GitHub Pro

What’s GitHub?

GitHub is a web-based Git repository hosting service that provides access control and collaboration features for every project. GitHub provides a space for open source projects, working with peers, and even  a venue for recruiting. As of 2014, Github is the largest code host in the world.

The Open Source Philosophy – Recursively Share Work for Others to Build Upon!

GitHub will help you contribute to the open-source community. You can set up your profile for free, start your projects,  or build on top of others’ work. Over time, people can learn from you too!

Continue Reading

A Beginner’s Git and GitHub Tutorial

Beginner's Tutorial to Git and GitHub

Git and GitHub are two of the coolest technologies around for developers. Git, despite its complexity and rather terse beginnings, is the version control tool of choice for everyone from web designers to kernel developers. And GitHub is the social code-hosting platform used more than any other. On GitHub, you’ll find everything from playful, simple experiments to the Linux kernel itself.

But despite this popularity, there’s a lot to learn if you want to use these tools properly, and not just be a beginner. Both tools are sophisticated, providing a rich tapestry of functionality. Consequently, they’re not for the faint of heart: they can be quite demanding if you want to use them to the fullest.

So if you’re just starting out, perhaps coming across from one of the older version control tools, I want to help you make a great start, by giving you a solid working foundation from which you can grow your knowledge over time. To do so, we’ll start with Git, learning how to perform the common operations you’ll do every day on a local source code repository. Then we’ll cover the basics of GitHub, and how to integrate the local Git repository into it, so that others have access to this project as well. Sound good? Then let’s get started.

Continue Reading

4 Ways to Pick Your First Programming Language

If you haven’t picked your first programming language, the programming world is your oyster. Yet with evangelists for every language telling you their language is the best, choosing one to start with can be incredibly overwhelming. We’ve looked at the data for the top ten programming languages in the US (based on IEEE Spectrum data) to help you pick the best language to start with based on your priorities in lifestyle, location, and career potential.

Python is a popular, well-paid language, being versatile enough to be used in many different applications, while Javascript is used widely across the country, and can be a good choice if you don’t want to relocate for a job. Although some newer programming languages, such as Swift, are not included, you shouldn’t discount the growth of their popularity. Career opportunities in iOS development using Swift, similar to Android development using Java, will increase as the field of mobile app development continues to expand.

Continue Reading

Learn Programming? You Already Know How.


Programming is a fantastic career field for many reasons (great pay, solid career growth, serious job demand). No news there. But what you may not realize about programming as a job choice is that, no matter how far along in your studies you may be, you can actually already do it really well.

“Say what?!” you may be thinking, if you’re a total coding newbie and intimidated by the perceived learning curve. Or else, if you’re in the process of picking it up or sharpening your skills, “I know I can already do it, I’ve learned through courses, books, blogs, and hours of coding practice.” But here’s the thing: every day, people of all types, in all fields, of all mathematical abilities, are “programming” in their daily lives simply by way of using certain thought structures or patterns of logic. Computer programming is just the practice of transcribing those everyday rules into a more structured format.

Continue Reading

3 New Programming Languages You Should Know

Go, Rust, Swift. 3 new programming languages you should know.

The world of programming languages is vast. Languages that are tried and true often dominate the landscape (C, Java, PHP), with contenders stepping into the arena every so often (Scala, D). However, due to the nature of software development, it can be hard for new languages to gain traction. You generally need a strong reason to switch from a language you’re currently using: it requires time to practice and learn new languages, and you have to be confident that the language you’re considering switching to will be supported in the long term. Nobody wants to build software in a language that will be obsolete in five years’ time.

Continue Reading

iOS Resources Roundup: Edition 1

It’s the first edition of our iOS Resources Roundup, a monthly roll-up of our favorite articles, resources, and courses in the iOS world. Go ahead: pinch and zoom away.

Aerial view of a clean hip desk. iOS Developer Resources Roundup

From time to time, it’s fun to imagine a big break. Read how a small studio landed an app in an Apple ad during the World Cup.

Did you preorder? If so, this list of all upcoming Apple Watch apps will find comfort in your bookmarks bar.

The Art of Code Review: A Dropbox Story is a peek into tools and practices that let a team of developers fix code together.

Tick tock. Anyone can now submit Apple Watch apps and this is exactly how the WatchKit submission process works.

When designing apps, the best icon is almost always a text label.

How much money can indie app developers make? Overcast reports on revenue numbers from three app developers.

Apple’s Network Link Conditioner is a useful performance tool that you can add to your iOS development toolbox. Check it out.

Spice up Apple’s Xcode with these 13 tips and tricks.

Want to develop native iOS apps with JavaScript? It might be time to take a look at React Native.

If you’ve ever struggled with AutoLayout on iOS, here’s advice straight from an Apple engineer.

Core Intuition is a great podcast about Apple indie software development, and Episode 179 is about all things Apple Watch.

“A better job is one of the best kinds of recognition.”

“With the skills I gain I will be prepared for an entry level iOS developer role. But I will also be prepared for jobs of the future and can even apply these skills to my current role.”

— iOS Developer Nanodegree student Mikaila. Read more about why she’s taking up the Udacity program on Getting Smart.

New iOS Courses

UIKit Fundamentals with Gabrielle Miller-Messner — learn the iOS user interface library. Level: intermediate

iOS Networking with Swift — learn how to incorporate networking into your apps. Level: advanced

iOS Persistence and Core Data with Jason Schatz — techniques for storing data to your device’s hard drive.

iOS Developer Nanodegree — get notified when the next enrollment period opens.

Udacity’s Hidden Easter Eggs

Easter is right around the corner, so we’re sharing a few Udacity code Easter eggs for you to enjoy. Let us know in the comments if you’ve found others in our courses, or what your favorite Easter eggs are from around the web!

Developing Android Apps

If you get this Developing Android Apps quiz correct (click on the one checkbox), you’ll see a happy dancing Android.

android dance part 1

But the poor guy doesn’t get to finish his celebration, and you’re asked to find the other half of his dance. Never fear! Head over to this quiz from later on in the course, and the right answer (click both checkboxes) shows the little guy’s finishing moves.

Droid happy dance

android dance part 2

Programming Foundations with Python

This course video from Programming Foundations with Python teaches you how to open a web browser in Python so you can listen to some relaxing saxophone music while taking a break from all the learning. But before you doze off, take a closer look. If you copy the YouTube link from the video, you’ll realize you’ve found something much more upbeat. In fact, you’ll realize you’ve just been ‘rickrolled‘.

How to open a web browser in Python

Data Analysis with R

The next two Easter eggs may or may not reflect some of the frustrations you’ve felt on your programming journey.  It may help to know that by putting these tidbits in here, our instructors have probably felt the same way.

In this Data Analysis with R quiz, a correct answer of .948 will yield what we hope is a situation you don’t often encounter. But then again, we’re all human, so something like this probably happens more often than we care to admit!

Productivity vs deadlines

Developing Android Apps

The instructor notes in this video from Developing Android Apps describe a situation that may be all too familiar.

“You’re testing an app on your favorite phone device, and everything looks great, but then you rotate it into landscape, or run the same app on a larger phone or a tablet, and it’s the same UI just squeezed into the top left corner and you’re all like…

Android frustrations.

Website Performance Optimization

Most of our Easter eggs are embedded in our courses, usually when you submit the correct answer to a quiz. However this egg, found in Website Performance Optimization, is not one most people will find (we don’t think), since it’s not based on a correct answer. Don’t worry about whether each sequence of events is a ‘blocking’, ‘inline’ or ‘async’ script. Just know that you want to see a ‘fat’, ‘cat’, ‘breathing’.

Fat cat breathing.

There are other secrets tucked away in our courses, but we obviously can’t tell all. The rest are there for you to find! What other fun and interesting code Easter eggs have you discovered, on the Udacity site and elsewhere?