Menu
Own Doings
  • Home
  • Roll It On.. An Intro
  • Contact Me
  • About Abhinav
Own Doings

Categories

Archives

Be a good Programmer

Posted on August 24, 2014August 24, 2014

Recommendations for Academic Learning

Introduction to CS Course

Notes: Introduction to Computer Science Course that provides instructions on coding. Online Resources:

  1. Udacity-  Intro to CS course,
  2. Coursera – Computer Science 101

Code in at least one object oriented programming language:

C++, Java, or Python Beginner Online Resources:

  1. Coursera – Learn to Program: The Fundamentals,
  2. MIT- Intro to Programming in Java,
  3. Google’s Python Class,
  4. Coursera- Introduction to Python,
  5. Python Open Source E-Book

Intermediate Online Resources:

  1. Udacity’s Design of Computer Programs,
  2. Coursera- Learn to Program: Crafting Quality Code,
  3. Coursera- Programming Languages,
  4. Brown University- Introduction to Programming Languages

Learn other Programming Languages

Notes: Add to your repertoire – Java Script, CSS, HTML, Ruby, PHP, C, Perl, Shell. Lisp, Scheme. Online Resources:

  1.  w3school.com – HTML Tutorial
  2. Learn to code

Test Your Code

Notes: Learn how to catch bugs, create tests, and break your software Online Resources:

  1. Udacity- Software Testing Methods
  2. Udacity- Software Debugging

Develop logical reasoning and knowledge of discrete math

Online Resources:

  1. MIT- Mathematics for Computer Science,
  2. Coursera – Introduction to Logic
  3. Coursera – Linear and Discrete Optimization,
  4. Coursera – Probabilistic Graphical Models,
  5. Coursera – Game Theory.

Develop strong understanding of Algorithms and Data Structures

Notes: Learn about fundamental data types (stack, queues, and bags), sorting algorithms (quicksort, mergesort, heapsort), and data structures (binary search trees, red-black trees, hash tables), Big O. Online Resources:

  1. MIT Introduction to Algorithms,
  2. Coursera – Introduction to Algorithms Part 1 & Part 2,
  3. Wikipedia- List of Algorithms,
  4. Wikipedia- List of Data Structures,
  5. Book: The Algorithm Design Manual

Develop a strong knowledge of operating systems

Online Resources:

  1. UC Berkeley Computer Science 162

Learn Artificial Intelligence

Online Resources:

  1. Stanford University- Introduction to Robotics
  2. Stanford University- Natural Language Processing
  3. Stanford University- Machine Learning

Learn how to build compilers

Online Resources:

  1. Coursera – Compilers

Learn cryptography

Online Resources:

  1. Coursera- Cryptography
  2. Udacity- Applied Cryptography

Learn Parallel Programming

Online Resources:

  1. Coursera- Heterogeneous Parallel Programming

Recommendations for Non-Academic Learning

Work on project outside of the classroom.

Notes: Create and maintain a website, build your own server, or build a robot. Online Resources:

  1. Apache List of Projects
  2. Google Summer of Code
  3. Google Developer Group

Work on a small piece of a large system (codebase), read and understand existing code, track down documentation, and debug things.

Notes: Github is a great way to read other people’s code or contribute to a project. Online Resources:

  1. Github
  2. Kiln

Work on project with other programmers.

Notes: This will help you improve your ability to work well in a team and enable you to learn from others.

Practice your algorithmic knowledge and coding skills

Notes: Practice your algorithmic knowledge through coding competitions like CodeJam or ACM’s International Collegiate Programming Contest. Online Resources:

  1. CodeJam
  2. ACM ICPC

Also Learn:

  1. Linear Algebra | Mathematics | MIT OpenCourseWare
  2. Coding the Matrix: Linear Algebra Through Computer Science Application

Learning these will help you understand Regression Model in future- The basic step of Machine Learning. You won’t be taught these linear algebra courses in any school, colleges, research labs or institution. Learn it on your own. Calculus

  1. Calculus 1 – Ohio State University
  2. Pre-Calculus Courses – Universitat Autonoma de Barcelona
  3. Calculus for Beginners and Artists – MIT

Statistics & Probability

  1. Coursera- Statistics One
  2. RNG, Advanced Placement — stattrek.com

Let them know:

  • Click to share on WhatsApp (Opens in new window) WhatsApp
  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on X (Opens in new window) X
  • More
  • Click to share on Tumblr (Opens in new window) Tumblr
  • Click to share on Pinterest (Opens in new window) Pinterest
  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • Click to share on Pocket (Opens in new window) Pocket
  • Click to email a link to a friend (Opens in new window) Email
  • Click to print (Opens in new window) Print

Like this:

Like Loading...

Related

Pages

  • About Abhinav
  • Contact Me
  • Roll It On.. An Intro

Subscribe via email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Categories

Archives

Tags

1N 6 word stories abhinav aiims cracking Amateur Photography arvind kejriwal Awesome Photos Azad Band Name beauty black and white pics Bulky dude Busted c.t. Classic delhi dhruv digit Download Song. drama Fail family Fastest Fastest Runner feminism forever alone :p Friends funny futureme.org girl girl who reads Greg Plitt Just Thinking letters Life love Motivate PDF Photos Pictures poem poetry Programming Quora Website
©2025 Own Doings | Powered by SuperbThemes
Login

Time limit is exhausted. Please reload CAPTCHA.


Lost your password?

Reset Password

Time limit is exhausted. Please reload CAPTCHA.


Log in

%d