Recently I started a B.Sc in Computer Science at IDC Herzliya (The Interdisciplinary Center) in Israel. I started studying after several years in Tech positions at the IDF, while also working for Cisco as a programmer beforehand. I came to this degree quite heavily equipped with coding skills.

As the course of study focuses on heavily on Math and other subjects, many students feel like they need some practical experience. Many of the new amazing friends asked me to start helping them get more hands-on experience.

I decided to start a journey on this path, and I want to share it here with you as well. These posts are aimed at SW newbies. Its main goal is to get you going, and mostly to help you improve your self-learning skills.

In order to get you software superpowers and great skills, you need to start trying on your own. It’s a process and a journey, we’re starting just now and most of it is up to you.

First, we have to start with the basics. Many of the tasks you’ll see are completely new to you, and many times you’ll have “too many” things you don’t know.

That’s exactly the plan. Research and autodidactic skills are crucial to your success.

We’ll currently focus on Python because it’s a wonderful language which allows you to do a lot extremely quickly. As time progresses we might shift and look for different focus points.

So, enough talks, let’s start doing. You should be able to finish everything in the given list by the end of the weekend.

Environment Setup:

Download and Install to following:

1. PyCharm— you’re Python IDE, very similar to IntelliJ:

2. Python 2.7.13 — for Windows 64

3. PuTTy— 64 Bit Windows Installer: A Shell, or CLI to remote server (Like the windows command)

4. Sublime — Text Editor

  • Install PrettyJson for sublime
  • Install the package under: C:\Users\%USERNAME%\AppData\Roaming\Sublime Text 2\Packages

5. GIT— A software for source control

6. Evernote — A good notebook application:

7. Firefox —Another web browser

Working Online:

1. Work with Chrome Bookmarks. You’ll have a lot of new websites and URL to remember. Save everything in folders, keep it ordered and convenient.

2. Use Evernote to save many commands and tips you find. It’s very easy to cut and paste things to it.

3.Google, StackOverflow and Wikipedia. Just start searching every term you don’t understand.

Learning Python:

1. I want you to go over this fantastic tutorial: Learning Python the Hard Way

  • I want to finish everything basically, especially up to Ex 40.
  • Many of them will be quite trivial for you, just go through it
  • There are some key concepts to understand, we’ll go over them once you start doing.

2. Once you finish the first, go over this by Google, it’s shorter but has very good concepts: Google Python Tutorial

3. Another course, but I think is redundant, only if you want some videos: Udacity Intro to Python

Learning IT:

1. Open a trial account at Google Cloud Engine

2. Create an account at Bitnami (SW web deployments) and link it if necessary with your google account

3. Create a new WordPress Deployment through Bitnami on your google cloud

  • Choose europe-west as the location, pick the smallest default server
  • Let the autoinstall do its work, and once it’s done look for its external IP address and enter in Chrome: http://IP_ADDRESS/wp-admin
  • You need to configure and initial username and password, and your website should be up and running.

4. Enter the Google Cloud Console

  • Search for Compute Engine
  • Create New Instance:
  • Choose Europe West
  • Change the Boot Disk to: Ubuntu 16.04 LTS
  • Allow HTTP, HTTPS traffic
  • Keep the default CPU and RAM configuration
  • After you created the instance, go back to Compute Engine, click SSH and see that you can connect to the server you created
  • Later we’ll configure access from our computer to the server through SSH (Secure Shell)

That’s it for now, the next steps will be source control (GIT), working with servers, choosing projects in Python and a million other things.

I know that a lot of the things here are new to you, feel free to ask. But before any question you have, search it first yourself on the web, try to figure out what you’re doing even if it’s unclear.

There’s a lot ahead of us, so we’d better get running.

Love you a lot