Skip to content

Straight, simple guide to survive SUTD's 10.009 Digital World module

License

Notifications You must be signed in to change notification settings

Phangster/digital-world-for-normal-humans

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

digital-world-for-normal-humans

Straight, simple guide to survive SUTD's 10.009 Digital World module

"Can you code?" A simple question that invariably leads to heated debates on how early you 'learnt' coding and how fast you can pick it up. One will also observe the emergence of the extremely proficient (and sometimes their oversized egos), but seeking to learn at their feet, realise that their methods are simply too hard to understand.

Well, this guide is for normal human beings looking to pick up a useful skill. It is divided into 2 parts:

  1. Learning Python
  2. Acing the exam

Installing Python

1. Download Python 3 with Anaconda

  • As of 2018, SUTD has been using Python 3 instead of Python 2 to teach Digital World. i.e. The Python versions start with 3 (e.g. Python 3.7 instead of 2.7).
  • Around Janurary, you should get an email from the course lead asking you to download Anaconda
  • Anaconda is "Anaconda Distribution is the fastest and easiest way to do Python and R data science and machine learning on Linux, Windows, and Mac OS X. It's the industry standard for developing, testing, and training on a single machine." Read: Download all the libraries you need for digital world so you don't need to worry about it later.
  • Most of the course will be taught using Python's standard library, however, there should be a data science week where you will need a bunch of other libraries
  • Also, iPython (one of the popular IDEs for Python) is included

Learning Python

1. Get a cheat sheet

  • I recommend Eric Matthes' (Author of Python Crash course) cheat sheet. He's done an excellent job at putting just the right amount of information in a visually appealing way. I've compiled a subset of his work in this repo.

2. Print out said cheat sheet and type out everything

  • The goal of this is twofold. First, to familiarise yourself with the syntax. Second, to develop a heuristic to learn from other's code

3. Pick your favourite IDE and memorise the shortcuts

  • Favourites include Pycharm (recommended, good style recommendations), Visual studio (lightweight), iPython notebook (good for viewing what your code does step by step, not much style recommendations)
  • A good IDE helps with the identification of mistakes and makes reccomendations to follow proper coding conventions
  • Remembering the shortcuts helps to type faster

4. Look up Python's style guide

5. Use Python's print() statement extensively

  • See what's in your data structures

6. Learn how to read a stack traceback

  • Find your errors quickly

Scoring on exams

1. Quantity not quality

  • While proper coding conventions and program structure is important, digital world exams are marked to check whether you understand the concepts and less on the syntax

2. Pseudocode questions you don't have time for

  • Again, they're checking for programming thinking first, syntax second

References:

  1. Python Crash Course Cheat sheet
  1. Python Style Guide

About

Straight, simple guide to survive SUTD's 10.009 Digital World module

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published