The 9 Best Programming Books to Read Right Now if You Want to Distinguish Yourself

If you read just one of these best programming books this year you’ll be a step ahead of nearly everyone around you. That’s because, according to Steve McConnell, the author of Code Compete, one book is more than most programmers read each year.

Back in 2008 author, blogger, software engineer and creator of Trello made this bold statement:

Programmers seem to have stopped reading books. The market for books on programming topics is minuscule compared to the number of working programmers. Instead, they happily program away, using trial-and-error. When they can’t figure something out, they type a question into Google.


Does this sound like you?

While search engines and community forums like Stack Overflow are indispensable, there’s no way you can obtain the same depth of knowledge and perspective as you get from reading books.

The best types of programming books are ones that don’t just tell you how, but explain the why behind it. They don’t just teach you about specific languages or how to code, but how to think. They stand the test of time and will help you become a better programmer, whether you are just starting out or have been in the industry for 30 years.

Without further ado, here is the list of the top 8 best programming books to read if you want to set yourself apart and become a coding powerhouse.


1. Coders at Work: Reflections on the Craft of Programming


If you’re curious about life as a programmer than Coders at Work is the book for you. It’s packed with interesting interviews from 15 accomplished programmers and computer scientists including Joshua Bloch, Peter Norvig, Donald Knuth, Ken Thomson, and Jamie Zawinski. The author, Peter Seibel (a programmer turned writer), got interviewees to open up about the famous projects that they worked on and the inspiring stories behind them. Coders at Work gives a peek into what makes some of the greatest programmers tick and how they think. Definitely a must read!


2. Code Complete: A Practical Handbook of Software Construction


Steve McConnell’s Code Complete is considered to be the encyclopedia of practical coding and a must-read for any professional programmer. And, it’s easy to understand why – it’s a massive piece of literature at 900-pages, but each chapter is packed with suggestions and techniques to improve everyday programming and construct code that is readable and easier to manage. McConnell has a knack for presenting his material in a story format that makes the book easy to read and even entertaining. No matter what level you’re at, Code Compete will undoubtedly change the way you think about and write code.

TIP: If you don’t have time to read the book in its entirety, flip to the last three chapters since it serves as a resource guide. From there, you can read through whichever chapters you want information on. Skip the Kindle edition and opt for the print copy since chapters are easier to reference.


3. The Mythical Man Month


The premise of this book is built on the fact that computers change, but people don’t. The Mythical Man Month is a programming classic that discusses the human elements of software engineering. Even though the book was written 30 years ago (first published in 1975) it’s stood the test of time. Why? Because building things, including software, has been as much about people as much as hit has been about materials or technology. If you’re aspiring to become a project manager, this book will help you understand things that can go wrong in software development and will give you practical advice or working with, organizing and managing teams.


4. Don’t Make Me Think, Revisited: A Common Sense Approach to Web Usability


If you’re going to read a book on usability make it this one! Don’t Make Me Think is a great resource for any web developer who want to create websites, mobile sites or mobile apps that are much easier to use. The book is loaded with helpful information that’s presented in a clear and concise way that could be understood by both technical and non-technical audiences alike.


5. The Pragmatic Programmer: From Journeyman to Master


Another oldie, but goody, that continues to stand the test of time. The Pragmatic Programmer is a collection of lessons and recommendations for software developers. The book contains a set of numbered tips, about 70 of them, which are collected on a single tear-out card situated in the back of the book. The tips alone might seem obvious, but they contain some surprising dimensions that will help strengthen your programming career and hone your craft! 


6. Clean Code: A Handbook of Agile Software Craftsmanship


Poorly written code can bring a project to its knees, which is why developing great code is so important! In Clean Code, “Uncle Bob” Martin shares tips and examples on how to create better code. The book dives into the principles and best practices of writing clean code, and also presents increasingly challenging case studies presented that challenges readers to think about what’s right with the code, and what’s wrong with it. While examples in Clean Code are given in Java, but is applicable to nearly all programming languages.

TIP: Read Clean Code after getting through Code Complete since it deals with some of the same topics but at a higher level.


7. Programming Pearls


This is a classic book for newbies that teaches the basics of solving problems. If you work through the problems on your own (without looking ahead) you’ll learn a lot and be a much stronger programmer with a deeper understanding of algorithms and algorithm design.


8. Cracking the Coding Interview: 150 Programming Questions and Solutions


This is one of the go-to books for programming interviews if you’re looking to land a gig at a top company such as Amazon, Apple, Facebook, Google or Microsoft. As the title suggests, the book contains 150 programming questions that you might encounter at interviews, and then breaks down how to solve them. The remainder of the book focuses on non-coding aspects of the interview process such as interview prep, resume prep, behavioral prep, etc. Definitely one of the best programming interview books out there. Another good prep book is Introduction to Algorithms , which is considered to be the “bible of algorithms.”  


9. Soft Skills: The Software Developer’s Life Manual


For most software developers, coding is the fun part. The hard parts involve dealing with clients, peers, and managers, staying productive, achieving financial security and so on. This book covers everything-else-apart-from-coding ranging from career, to personal branding, blogging, learning, teaching, finances, and even fitness and relationships.


Bonus Book: Zero Bugs and Program Faster


The author of Zero Bugs spent two years researching every bug avoidance technique she could find. This book contains the best of them! It includes useful tips and techniques, and presents information in an easy-to-digest way and brought to life with stories and metaphors that make it a really enjoyable (and memorable) read.


Have any other “must read” books that you would add to the list? Share!

7 Motivational Graduation Speeches That Will Inspire and Transform You

Feeling down? Confused? Not sure what to do with your life? These commencement speeches may have the answers you’re looking for.

If not that, at least it will inspire and motivate you to bounce back in life.

Here are 7 motivational speeches to inspire you and change your life:

1. David Foster Wallace, 2005 Kenyon Graduation Speech23

“There are these two young fish swimming along and they happen to meet an older fish swimming the other way, who nods at them and says “Morning, boys. How’s the water?” And the two young fish swim on for a bit, and then eventually one of them looks over at the other and goes “What the hell is water?”

In this commencement address, Wallace reminds us that we often forget, or take for granted, the most obvious things around us. He acknowledges it’s difficult to stay aware of what’s happening in the world, especially when you’re too busy dealing with the monologue inside your head.

That’s what a college education is about, according to him. It’s learning how to think, exercising some degree of control over your thoughts so you can choose what to pay attention to.

Our thoughts affect our realities, and the ability to choose how you “construct meaning from experience” will determine the lenses from which you see the world and how you react in return.

2. Ellen DeGeneres, 2009 Tulane University

“Never follow anyone else’s path, unless you’re in the woods and you’re lost and you see a path and by all means you should follow that. Don’t give advice, it will come back and bite you in the ass. Don’t take anyone’s advice. So my advice to you is to be true to yourself and everything will be fine.”

This is one of the funniest graduation speeches ever! All humor aside, this speech shows why it’s better to be true to yourself, instead of trying desperately to be a second-rate version of someone else.

For years, Ellen thought being bisexual might prevent her from being a successful stand-up comedian but it’s just not the case. Ellen proved that you can be successful, whoever you are, if you worked hard and learn from your past experiences— even one as sad as the death of a loved one.

3. Charlie Munger, 2007 University of California Law School

*Skip to 4:08 for the actual speech

“You’re not going to get very far in life based on what you already know. You’re going to advance in life by what you’re going to learn after you leave here.”

Education doesn’t stop after you graduate from college. It doesn’t stop after you finish your MBA or PhD either. Munger says, “Wisdom acquisition is a moral duty. It’s not just something you do to advance in life.”

It’s a moral duty because it’s only through continuous learning that we can add to the vast knowledge of man kind. If we stopped learning, progress in all industries—computers, finance, engineering, biology, stops as well.


4. Michelle Obama, 2013 Eastern Kentucky University

“If you’re a Democrat, spend some time talking to a Republican. And if you’re a Republican, have a chat with a Democrat. Maybe you’ll find some common ground, maybe you won’t. But if you honestly engage with an open mind and an open heart, I guarantee you’ll learn something. And goodness knows we need more of that, because we know what happens when we only talk to people who think like we do — we just get more stuck in our ways, more divided, and it gets harder to come together for a common purpose. ”

As far as inspirational speeches go, Michelle Obama’s speech is very actionable. Her advice is simple (not easy), talk to each other with an open mind.

Different religion, race, political stand, it doesn’t matter. We can all learn from one another.

5. Jim Carrey, 2014 Maharashi University of Management

This is one of my favorite motivational speeches because Jim Carrey is such a good example of his message.

“So many of us choose our path out of fear disguised as practicality. My father could have been a great comedian, but he didn’t believe that that was possible for him, and so he made a conservative choice. Instead, he got a safe job as an account.”
Carrey’s father lost his accounting job when he was 12, and it was then he realized that failure is inevitable, whether you’re doing what you want or not. If that’s the case, you might as well take a stab at doing something you love.

6. J.K Rowling, 2008 Harvard Commencement Address

“I was set free, because my greatest fear had been realized, and I was still alive, and I still had a daughter whom I adored, and I had an old typewriter and a big idea.”

For writers and creatives everywhere, this is probably one of the most inspirational videos there is.

Rowling was suffering from depression when he wrote the Harry Potter books. But through grit and patience with herself, she was able to complete the first Harry Potter Manuscript and in doing so escape the clutches of depression.

Thanks to her, the world has Harry Potter.

7.Bono, 2004 University of Pennsylvania

In case you don’t know him, Bono is the lead singer of the famous band U2.

Of course, being the rock star that he is, he leads his speech by saying, “My name is Bono, and I am a rock star”

Being a rock star, I thought Bono would talk about the perils of fame, the road to stardom or something to that effect. But instead, he talked about big ideas and changing the world.

In his speech, he urges graduates to carefully consider their big idea. “What are you willing to spend your moral capital, your intellectual capital, your cash, (and) your sweat equity in pursuing outside of the walls of the University of Pennsylvania? The world is more malleable than you think and it’s waiting for you to hammer it into shape,” he said.


“There were people who went to sleep last night, poor and rich and white and black, but they will never wake again. And those dead folks would give anything at all for just five minutes of this weather or ten minutes of plowing. So you watch yourself about complaining. What you’re supposed to do when you don’t like a thing is change it. If you can’t change it, change the way you think about it.”
― Maya Angelou



Ted Talks for when you want to laugh and think

Playlist (8 talks): Talks for when you want to laugh and think

These hilarious talks won’t just make you laugh out loud — they’ll make you think twice.

  • Did you know that you’re 30 times more likely to laugh if you’re with somebody else than if you’re alone? Cognitive neuroscientist Sophie Scott shares this and other surprising facts about laughter in this fast-paced, action-packed and, yes, hilarious dash through the science of cracking up.

  • You have no idea where camels really come from

     Latif Nasser

    Camels are so well adapted to the desert that it’s hard to imagine them living anywhere else. But what if we have them pegged all wrong? What if those big humps, feet and eyes were evolved for a different climate and a different time? In this talk, join Radiolab’s Latif Nasser as he tells the surprising story of how a very tiny, very strange fossil upended the way he sees camels, and the world. This talk comes from the PBS special “TED Talks: Science & Wonder.”

  • My road trip through the whitest towns in America

    Rich Benjamin

    As America becomes more and more multicultural, Rich Benjamin noticed a phenomenon: Some communities were actually getting less diverse. So he got out a map, found the whitest towns in the USA — and moved in. In this funny, honest, human talk, he shares what he learned as a black man in Whitopia.

  • One woman, five characters, and a sex lesson from the future

     In this performance, Sarah Jones brings you to the front row of a classroom in the future, as a teacher plugs in different personas from the year 2016 to show their varied perspectives on sex work. As she changes props, Jones embodies an elderly homemaker, a “sex work studies” major, an escort, a nun-turned-prostitute and a guy at a strip club for his bachelor party. It’s an intriguing look at a taboo topic, that flips cultural norms around sex inside out.

  • Why city flags may be the worst-designed thing you’ve never noticed

    Roman Mars

    Roman Mars is obsessed with flags — and after you watch this talk, you might be, too. These ubiquitous symbols of civic pride are often designed, well, pretty terribly. But they don’t have to be. In this surprising and hilarious talk about vexillology — the study of flags — Mars reveals the five basic principles of flag design and shows why he believes they can be applied to just about anything.

  • Why I keep speaking up, even when people mock my accent

    Safwat Saleem

    Artist Safwat Saleem grew up with a stutter — but as an independent animator, he decided to do his own voiceovers to give life to his characters. When YouTube commenters started mocking his Pakistani accent, it crushed him, and his voice began to leave his work. Hear how this TED Fellow reclaimed his voice and confidence in this charming, thoughtful talk.

  • Math is forever

    Eduardo Sáenz de Cabezón

    With humor and charm, mathematician Eduardo Sáenz de Cabezón answers a question that’s wracked the brains of bored students the world over: What is math for? He shows the beauty of math as the backbone of science — and shows that theorems, not diamonds, are forever. In Spanish, with English subtitles.

  • A science award that makes you laugh, then think

    Marc Abrahams

    As founder of the Ig Nobel awards, Marc Abrahams explores the world’s most improbable research. In this thought-provoking (and occasionally side-splitting) talk, he tells stories of truly weird science — and makes the case that silliness is critical to boosting public interest in science.

🎓 Path to a free self-taught education in Computer Science!



The OSSU curriculum is a complete education in computer science using online materials. It’s not merely for career training or professional development. It’s for those who want a proper, well-rounded grounding in concepts fundamental to all computing disciplines, and for those who have the discipline, will, and (most importantly!) good habits to obtain this education largely on their own, but with support from a worldwide community of fellow learners.

It is designed according to the degree requirements of undergraduate computer science majors, minus general education (non-CS) requirements, as it is assumed most of the people following this curriculum are already educated outside the field of CS. The courses themselves are among the very best in the world, often coming from Harvard, Princeton, MIT, etc., but specifically chosen to meet the following criteria.

Courses must:

  • Be open for enrollment
  • Run regularly (ideally in self-paced format, otherwise running at least once a month or so)
  • Fulfill the academic requirements of OSSU
  • Fit neatly into the progression of the curriculum with respect to topics and difficulty level
  • Be of generally high quality in teaching materials and pedagogical principles

When no course meets the above criteria, the coursework is supplemented with a book. When there are courses or books that don’t fit into the curriculum but are otherwise of high quality, they belong in extras/courses or extras/readings.

Organization. The curriculum is designed as follows:

  • Intro CS: for students to try out CS and see if it’s right for them
  • Core CS: corresponds roughly to the first three years of a computer science curriculum, taking classes that all majors would be required to take
  • Advanced CS: corresponds roughly to the final year of a computer science curriculum, taking electives according to the student’s interests
  • Final Project: a project for students to validate, consolidate, and display their knowledge, to be evaluated by their peers worldwide
  • Pro CS: graduate-level specializations students can elect to take after completing the above curriculum if they want to maximize their chances of getting a good job

Duration. It is possible to finish Core CS within about 2 years if you plan carefully and devote roughly 18-22 hours/week to your studies. Courses in Core CS should be taken linearly if possible, but since a perfectly linear progression is rarely possible, each class’s prerequisites is specified so that you can design a logical but non-linear progression based on the class schedules and your own life plans.

Cost. All or nearly all course material prior to Pro CS is available for free, however some courses may charge money for assignments/tests/projects to be graded. Note that Coursera offers financial aid. Decide how much or how little to spend based on your own time and budget; just remember that you can’t purchase success!

Content policy. If you plan on showing off some of your coursework publicly, you must share only files that you are allowed to. Do NOT disrespect the code of conduct that you signed in the beginning of each course!

How to contribute. Please see CONTRIBUTING.

Getting help. Please check our Frequently Asked Questions, and if you cannot find the answer, file an issue or talk to our friendly community!


Curriculum version8.0.0 (see CHANGELOG)


  • Core CS assumes the student has already taken high school math and physics, including algebra, geometry, and pre-calculus. Some high school graduates will have already taken AP Calculus, but this is usually only about 3/4 of a college calculus class, so the calculus courses in the curriculum are still recommended.
  • Advanced CS assumes the student has already taken the entirety of Core CS and is knowledgeable enough now to decide which electives to take.
  • Note that Advanced systems assumes the student has taken a basic physics course (e.g. AP Physics in high school).

Introduction to Computer Science

These courses will introduce you to the world of computer science. Both are required, but feel free to skip straight to the second course when CS50 (the first course) moves away from C. (Why?)

Topics coveredimperative programming procedural programming C manual memory management basic data structures and algorithms Python SQL basic HTML, CSS, JavaScript and more

Courses Duration Effort Prerequisites
Introduction to Computer Science – CS50 (alt) 12 weeks 10-20 hours/week none
Introduction to Computer Science and Programming using Python 9 weeks 15 hours/week high school algebra

Core CS

All coursework under Core CS is required, unless otherwise indicated.

Core programming

Topics coveredfunctional programming design for testing program requirements common design patterns unit testing object-oriented design Java static typing dynamic typing ML-family languages (via Standard ML) Lisp-family languages (via Racket) Ruby and more

Courses Duration Effort Prerequisites
How to Code – Simple Data 7 weeks 8-10 hours/week none
How to Code – Complex Data 6 weeks 8-10 hours/week How to Code: Simple Data
Software Construction – Data Abstraction 6 weeks 8-10 hours/week How to Code – Complex Data
Software Construction – Object-Oriented Design 6 weeks 8-10 hours/week Software Construction – Data Abstraction
Programming Languages, Part A 4 weeks 8-16 hours/week recommended: Java, C
Programming Languages, Part B 3 weeks 8-16 hours/week Programming Languages, Part A
Programming Languages, Part C 3 weeks 8-16 hours/week Programming Languages, Part B


Core math

Topics coveredlinear transformations matrices vectors mathematical proofs number theory differential calculusintegral calculus sequences and series discrete mathematics basic statistics O-notation graph theory vector calculus discrete probability and more

Courses Duration Effort Prerequisites
Essence of Linear Algebra pre-calculus
Linear Algebra – Foundations to Frontiers (alt) 15 weeks 8 hours/week Essence of Linear Algebra
Calculus One1 (alt) 16 weeks 8-10 hours/week pre-calculus
Calculus Two: Sequences and Series 7 weeks 9-10 hours/week Calculus One
Mathematics for Computer Science 13 weeks 5 hours/week single variable calculus (Calculus Two)

1 Note: When you are enrolled, please see this list of errors and these recommendations for how to progress through the course.

Core systems

Topics coveredboolean algebra gate logic memory machine language computer architecture assembly machine language virtual machines high-level languages compilers operating systems network protocols and more

Courses Duration Effort Prerequisites
Build a Modern Computer from First Principles: From Nand to Tetris (alt) 6 weeks 7-13 hours/week none
Build a Modern Computer from First Principles: Nand to Tetris Part II 6 weeks 12-18 hours/week From Nand to Tetris Part I
Introduction to Computer Networking 8 weeks 4–12 hours/week algebra, probability, basic CS – Hack the Kernel 15 weeks 6 hours/week algorithms


Core theory

Topics covereddivide and conquer sorting and searching randomized algorithms graph search shortest paths data structures greedy algorithms minimum spanning trees dynamic programming NP-completeness and more

Courses Duration Effort Prerequisites
Algorithms: Design and Analysis, Part I 8 weeks 4-8 hours/week any programming language, Mathematics for Computer Science
Algorithms: Design and Analysis, Part II 8 weeks 4-8 hours/week Part I

Core applications

Topics coveredAgile methodology REST software specifications refactoring relational databases transaction processing data modeling neural networks supervised learning unsupervised learning OpenGL raytracing block ciphers authentication public key encryption and more

Courses Duration Effort Prerequisites
Databases 12 weeks 8-12 hours/week some programming, basic CS
Machine Learning 11 weeks 4-6 hours/week linear algebra
Computer Graphics 6 weeks 12 hours/week C++ or Java, linear algebra
Cryptography I 6 weeks 5-7 hours/week linear algebra, probability
Software Engineering: Introduction 6 weeks 8-10 hours/week Software Construction – Object-Oriented Design
Software Development Capstone Project 6-7 weeks 8-10 hours/week Software Engineering: Introduction

Advanced CS

After completing every required course in Core CS, students should choose a subset of courses from Advanced CS based on interest. Not every course from a subcategory needs to be taken. But students should take every course that is relevant to the field they intend to go into.

The Advanced CS study should then end with one of the Specializations under Advanced applications. A Specialization’s Capstone, if taken, may act as the Final project, if permitted by the Honor Code of the course. If not, or if a student chooses not to take the Capstone, then a separate Final project will need to be done to complete this curriculum.

Advanced programming

Topics covereddebugging theory and practice goal-oriented programming GPU programming CUDA parallel computingobject-oriented analysis and design UML large-scale software architecture and design and more

Courses Duration Effort Prerequisites
Compilers 9 weeks 6-8 hours/week none
Software Debugging 8 weeks 6 hours/week Python, object-oriented programming
Software Testing 4 weeks 6 hours/week programming experience
LAFF: Programming for Correctness 7 weeks 6 hours/week linear algebra
Introduction to Parallel Programming 12 weeks C, algorithms
Software Architecture & Design 8 weeks 6 hours/week software engineering in Java

Advanced math

Topics coveredparametric equations polar coordinate systems multivariable integrals multivariable differentialsprobability theory and more

Courses Duration Effort Prerequisites
Calculus: Parametric Equations and Polar Coordinates single-variable calculus (Calculus Two)
Multivariable Calculus 13 weeks 12 hours/week Parametric Equations and Polar Coordinates
Introduction to Probability – The Science of Uncertainty 18 weeks 12 hours/week Multivariable Calculus

Advanced systems

Topics covereddigital signaling combinational logic CMOS technologies sequential logic finite state machinesprocessor instruction sets caches pipelining virtualization parallel processing virtual memory synchronization primitives system call interface and more

Courses Duration Effort Prerequisites
Electricity and Magnetism, Part 11 7 weeks 8-10 hours/week calculus, basic mechanics
Electricity and Magnetism, Part 2 7 weeks 8-10 hours/week Electricity and Magnetism, Part 1
Computation Structures 1: Digital Circuits 10 weeks 6 hours/week electricity, magnetism
Computation Structures 2: Computer Architecture 10 weeks 6 hours/week Computation Structures 1
Computation Structures 3: Computer Organization 10 weeks 6 hours/week Computation Structures 2

1 Note: These courses assume knowledge of basic physics. (Why?) If you are struggling, you can find a physics MOOC or utilize the materials from Khan Academy: Khan Academy – Physics

Advanced theory

Topics coveredformal languages Turing machines computability event-driven concurrency automata distributed shared memory consensus algorithms state machine replication computational geometry theory propositional logicrelational logic Herbrand logic concept lattices game trees and more

Courses Duration Effort Prerequisites
Introduction to Logic 10 weeks 4-8 hours/week set theory
Automata Theory 8 weeks 10 hours/week discrete mathematics, logic, algorithms
Reliable Distributed Systems, Part 1 5 weeks 5 hours/week Scala, intermediate CS
Reliable Distributed Systems, Part 2 5 weeks 5 hours/week Part 1
Computational Geometry 16 weeks 8 hours/week algorithms, C++
Introduction to Formal Concept Analysis 6 weeks 4-6 hours/week logic, probability
Game Theory 8 weeks x hours/week mathematical thinking, probability, calculus

Advanced applications

These Coursera Specializations all end with a Capstone project. Depending on the course, you may be able to utilize the Capstone as your Final Project for this Computer Science curriculum. Note that doing a Specialization with the Capstone at the end always costs money. So if you don’t wish to spend money or use the Capstone as your Final, it may be possible to take the courses in the Specialization for free by manually searching for them, but not all allow this.

Courses Duration Effort Prerequisites
Robotics (Specialization) 26 weeks 2-5 hours/week linear algebra, calculus, programming, probability
Data Mining (Specialization) 30 weeks 2-5 hours/week machine learning
Big Data (Specialization) 30 weeks 3-5 hours/week none
Internet of Things (Specialization) 30 weeks 1-5 hours/week strong programming
Cloud Computing (Specialization) 30 weeks 2-6 hours/week C++ programming
Full Stack Web Development (Specialization) 27 weeks 2-6 hours/week programming, databases
Data Science (Specialization) 43 weeks 1-6 hours/week none
Functional Programming in Scala (Specialization) 29 weeks 4-5 hours/weeks One year programming experience

Final project

OSS University is project-focused. You are encouraged to do the assignments and exams for each course, but what really matters is whether you can use your knowledge to solve a real world problem.

After you’ve gotten through all of Core CS and the parts of Advanced CS relevant to you, you should think about a problem that you can solve using the knowledge you’ve acquired. Not only does real project work look great on a resume, the project will validate and consolidate your knowledge. You can create something entirely new, or you can find an existing project that needs help via websites like CodeTriage or First Timers Only.

Another option is using the Capstone project from taking one of the Specializations in Advanced applications; whether or not this makes sense depends on the course, the project, and whether or not the course’s Honor Code permits you to display your work publicly. In some cases, it may not be permitted; do not violate your course’s Honor Code!

Put the OSSU-CS badge in the README of your repository! Open Source Society University - Computer Science

  • Markdown: [![Open Source Society University - Computer Science](](
  • HTML: <a href=""><img alt="Open Source Society University - Computer Science" src=""></a>


Upon completing your final project, submit your project’s information to PROJECTS via a pull request and use our communitychannels to announce it to your fellow students.

Your peers and mentors from OSSU will then informally evaluate your project. You will not be “graded” in the traditional sense — everyone has their own measurements for what they consider a success. The purpose of the evaluation is to act as your first announcement to the world that you are a computer scientist, and to get experience listening to feedback — both positive and negative — and taking it in stride.

The final project evaluation has a second purpose: to evaluate whether OSSU, through its community and curriculum, is successful in its mission to guide independent learners in obtaining a world-class computer science education.

Cooperative work

You can create this project alone or with other students! We love cooperative work! Use our channels to communicate with other fellows to combine and create new projects!

Which programming languages should I use?

My friend, here is the best part of liberty! You can use any language that you want to complete the final project.

The important thing is to internalize the core concepts and to be able to use them with whatever tool (programming language) that you wish.

Pro CS

After completing the requirements of the curriculum above, you will have completed the equivalent of a full bachelor’s degree in Computer Science, or quite close to one. You can stop in the Advanced CS section, but the next step to completing your studies is to develop skills and knowledge in a specific domain. Many of these courses are graduate-level.

Choose one or more of the following specializations:

These aren’t the only specializations you can choose. Check the following websites for more options:

Where to go next?

  • Look for a job as a developer!
  • Check out the readings for classic books you can read that will sharpen your skills and expand your knowledge.
  • Join a local developer meetup (e.g. via
  • Pay attention to emerging technologies in the world of software development:
    • Explore the actor model through Elixir, a new functional programming language for the web based on the battle-tested Erlang Virtual Machine!
    • Explore borrowing and lifetimes through Rust, a systems language which achieves memory- and thread-safety without a garbage collector!
    • Explore dependent type systems through Idris, a new Haskell-inspired language with unprecedented support for type-driven development.

keep learning

originally posted on Github ->  source

Some websites/apps to enhance productivity and skill sets

I am going to mention some websites and Apps here and I want to make it clear that I am in no way affiliated to any product here. I am writing about these products because I find them productive.

To be able to get the best out of these, it’s necessary that you stay consistent with the apps and websites and believe me you will get results.

  1. Highbrow: Highbrow is an email based service that delivers you daily lessons via email for the course that you have subscribed to. There are a variety of courses ranging from Language, History to Psychology and Marketing. The Courses are very well written and served in little chunks of 5 minute daily read.

You cannot subscribe to more than one course since that will mess up with your routine. So,One lesson at a time served via email daily in the morning. You just have to take out 5 minutes daily for this.

2. Franz: Franz is an application available for Windows, Mac and Linux. It’s a great application for productivity. Franz lets you run 23 apps inside one app i.e. Franz. You can use your Whats App, Slack, Gmail, Messenger, Skype, Outlook, Telegram and many other apps inside this single app.

The best part about this app is these apps utilise less CPU memory than the apps running individually. Franz saves you the hassle of switching between tabs and devices. I totally love it and keep suggesting it to everyone .

Download Franz

3. CanvaCanva is photoshop for everyone who doesn’t know Photoshop. You can use it online and you can also download it on your phone if you want to work on the go. Canva lets you design beautiful graphics for Facebook, Instagram, Twitter, E-mails or flyers, poster or custom ones.

The best part about this app is that it has pre-defined templates for everything that are scaled as per the requirement. Beautiful Templates and variety of Fonts just do the half of the creativity work.

The Canva design guide also teaches you how to match up fonts for better looking designs.

4. Pocket: Pocket is a great app to save articles to read later if you don’t have time right now and cannot remember the link later. You just have to install an extension in your browser on your desktop and download the app in your phone. Log in with the same Id on both the devices and whenever you save an article, it goes into your pocket list. You can read it later at the end of the day or in free time.

You get recommendations from other pocket users and you can recommend them too. Pocket is slowly turning into an network and I love that.

If you’re an avid reader like me, Pocket works like magic.



5. Elvate: Elevate is an iOS and Android app that helps you sharpen your brain with exercise for Math, reading, writing and Concentration. The App measures your current status by taking a test and then assigns value for every skill that you want to improve.

You are then allotted daily lessons in the form of games with beautiful animations. Elevate was the 2014 app of the year and it has every reason to be. It’s got engaging content. It tracks your progress and shows you result from time to time. It’s fun and learning at the same time.



6. Lumosity: Lumosity is also an app just like Elevate but it has different game and way to achieve the same things. You solve problems and learn things every day. There is not much to tell about Lumosity since I have described Elevate but it’s a great app just like Elevate.

7. Google Calendar: You might be aware of this one but let me tell you how good it is. I use Google Calendar for scheduling meetings, Setting up my daily routine, reminders, to- do and Daily goals. It’s a power house for productivity and it’s connected to your Google account. So you get reminders in mail, app and every other Google app that’s connected.

I have used many to do apps and by many, I mean almost every one out there but nothing comes close to this one.


8. Stumble Upon: Stumble Upon is a website where you stumble upon things f your interests. You choose your interests and you’re good to go. Everytime you clickon the stumble upon sign, it throws at you a random article from the internet related to your interest. It’s a great website and app to learn things concerning your interest.

Stumble Upon can also sit in your widget area and give you suggestions for the app.


9.Lynda: Lynda is an online collection of tutorials ranging from photography to marketing to IT expertise. There are a large variety of course and the teachers have done a great job covering them up in detail and to the point. You can collaborate with other users on projects given by the teachers.

You get a 10 Day trial before paying. Choose a course, take the trial and if you like it, subscribe.

10.UP by Jawbone: Okay, This app is for physical productivity. Up measures you daily activity and registers them to give you the desired results. You tell the app about your goals, be it weight loss or weight gain. It then measures your daily efforts and the efforts required to achieve the goals.

The app also tracks your calorie count and sleep pattern in order to give you better results. If you’re using it with a tracker, you will be delighted but it works great without a tracker too. The app has great reminders to tell you about when to sleep and what to eat.


11. Grammarly: Have you ever struggled while writing for an assignment or something as such with the Grammar. When you’re not sure about if the sentence is grammatically correct. Welcome Grammarly. Grammarly is a website as well as comes with a browser extension which marks out any grammatical mistakes from your writing and suggests alternatives for the same. The free version is great but if you’re into academic writing or pretty serious about your writing, you can try the paid version too.

12. Boomerang: Boomerang was recently introduced at Product Hunt and you can get your hands on it now. Boomerang is for the people who have a hard time dealing with their e-mails. Boomerang can schedule your emails for the future. You can archive them for the time when you want to follow them later. It works with Gmail right now(not inbox), only Gmail.

The best part about Boomerang is the Respondable. Respondable uses artificial intelligence to give you better tips on how to write the right email. It helps you use the right tone so that your e-mails really work.

17 Motivational Quotes to help you achieve your Goal

Motivation is like bathing, It doesn’t last long. That is why we recommend it daily. Here are 17 motivational quotes to get you pumped up for the rest of your day, so that you can get one step closer to that dream of yours.


1.“Attitude is a choice. Happiness is a choice. Optimism is a choice. Kindness is a choice. Giving is a choice. Respect is a choice. Whatever choice you make makes you. Choose wisely.” 

― Roy T. Bennett

2. “If you can dream it, you can do it.”

– Walt Disney

3. “Where there is a will, there is a way. If there is a chance in a million that you can do something, anything, to keep what you want from ending, do it. Pry the door open or, if need be, wedge your foot in that door and keep it open.”

—Pauline Kael

4. “Do not wait; the time will never be ‘just right.’ Start where you stand, and work with whatever tools you may have at your command, and better tools will be found as you go along.”

—George Herbert

5. “Success seems to be connected to action. Successful people keep moving. They make mistakes, but they don’t quit.”

– Conrad Hilton

6. “I can accept failure, everyone fails at something. But I can’t accept not trying.”

– Michael Jordan

7. “If you’ll not settle for anything less than your best, you will be amazed at what you can accomplish in your lives.”

– Vince Lombardi

8. “It is never too late to be what you might have been.”

– George Eliot


9. “Only those who dare to fail greatly can ever achieve greatly.”

– Robert F. Kennedy

10. “Success is the sum of small efforts, repeated day in and day out.”

– Robert Collier

11. “Two things define you: Your patience when you have nothing, and your attitude when you have everything.”

12. “You cannot escape the responsibility of tomorrow by evading it today.”

-Abraham Lincoln

13. “Aim for the moon. If you miss, you may hit a star.”

—W. Clement Stone



14. “There will be obstacles. There will be doubters. There will be mistakes. But with hard work, there are no limits.”

—Michael Phelps

15. “Trust because you are willing to accept the risk, not because it’s safe or certain.”

 – Anonymous

16. “Take up one idea. Make that one idea your life – think of it, dream of it, live on that idea. Let the brain, muscles, nerves, every part of your body, be full of that idea, and just leave every other idea alone. This is the way to success.” 

– Swami Vivekananda

17. “You can’t make footprints on the sands of time by sitting on your butt… and who wants to make buttprints? “


20 Motivational Quote to get you Out of Your Bed Right now

Everyone requires motivation, It is the first step towards achieving great things as without motivation you might get started but to finish the task you have to be extremely motivated to keep going during the ups and downs.

Here are a few Motivational Quotes to help get you motivated to get out of your bed and start building the life you always wanted:-

1. “People Who Are Crazy Enough To Think They Can Change The World, Are The Ones Who Do.”

– Rob Siltanen

2. “We May Encounter Many Defeats But We Must Not Be Defeated.”

– Maya Angelou

3. “Knowing Is Not Enough; We Must Apply. Wishing Is Not Enough; We Must Do.”

– Johann Wolfgang Von Goethe

4. “Where there is a will, there is a way. If there is a chance in a million  that you can do something, anything, to keep what you want from ending, do it. Pry the door open or, if need be, wedge your foot in that door and keep it open.”

– Pauline Kael

5. “Do not wait; the time will never be ‘just right.’ Start where you stand, and work with whatever tools you may have at your command, and better tools will be found as you go along.”

– George Herbert

6. “Imagine Your Life Is Perfect In Every Respect; What Would It Look Like?”

– Brian Tracy

7. “Security Is Mostly A Superstition. Life Is Either A Daring Adventure Or Nothing.”

– Helen Keller

8. “The Only Limit To Our Realization Of Tomorrow Will Be Our Doubts Of Today.”

– Franklin D. Roosevelt


9. “Aim for the moon. If you miss, you may hit a star.”

– W. Clement Stone

10. “What You Lack In Talent Can Be Made Up With Desire, Hustle And Giving 110% All The Time.”

– Don Zimmer

11. “You Are Never Too Old To Set Another Goal Or To Dream A New Dream.”

– C.S. Lewis

12. “There will be obstacles. There will be doubters. There will be mistakes. But with hard work, there are no limits.”

– Michael Phelps

13. “Change your life today. Don’t gamble on the future, act now, without delay.”

– Simone de Beauvoir

14. “Why should you continue going after your dreams? Because seeing the look on the faces of the people who said you couldn’t… will be priceless.”

– Kevin Ngo

15. “To See What Is Right And Not Do It Is A Lack Of Courage.”

– Confucious

16. “When you want to succeed as bad as you want to breathe, then you’ll be successful.”

– Eric Thomas


17.  “A man can be as great as he wants to be. If you believe in yourself and have the courage, the determination, the dedication, the competitive drive and if you are willing to sacrifice the little things in life and pay the price for the things that are worthwhile, it can be done.

– Vince Lombardi

18. ” Every great story on the planet happened when someone decided not to give up, but kept going no matter what.”

– Spryte Loriano

19. “The ones who are crazy enough to think they can change the world, are the ones who do.”

– Unknown

20. “It does not matter how slowly you go, so long as you do not stop.”

– Confucius