Best-websites-a-programmer-should-visit
Some useful websites for programmers.
When learning CS there are some useful sites you must know to get always informed in order to do your technologies eve and learn new things. Here is a non exhaustive list of some sites you should visit, this list will get updated as soon as I can get another link, but you can also contribute by adding those you know 😉
When you get stuck
- Stack Overflow : subscribe to their weekly newsletter and any other topic which you find interesting
- Quora : A place to share knowledge and better understand the world:
News
- Hacker News : news aggregator for programmers where civility is king, try a newsletter to get top news to your inbox:
- Hacker Newsletter : curated by hand, delivered weekly
- Hacker News Digest : curated automatically, delivered as frequently as you want
- Ars Technica : posts unique quality articles
- ACM TechNews
- Lobsters : Lobsters is a technology-focused community centered around link aggregation and discussion.
- TechCrunch : another good website for tech news
- GSMArena.com : news related to latest mobile phones and android.
- product hunt : Discover your next favorite thing
Coding practice for beginners
- Reddit.com/r/dailyprogrammer : interesting programming challenges where you can learn from looking at other's code , even if you are not able to solve code you can look at how others solved.
- Programming by Doing : very good site for those who want to start with absolute basics
- CodeAbbey - a place where everyone can master programming : Best place to begin with problems that start at the easiest and gradually increase difficulty with each problem.
- Programming Tasks : large collection of small programs
- karan/Projects-Solutions : Solutions to most of the problems in the link above
- Small Programming Challenges
- Free Code Camp : Learn to code and build projects for nonprofits. Build your full stack web development portfolio today
- Lod - Cloud : The Linking Open Data cloud diagram
- Cave of programming : Learn to program, Upgrade your skills.
For those who want to start a small project but cant find the ideas
- martyr2s-mega-project-ideas-list : contains about 125 project ideas from beginner to intermediate level.
- karan/Projects : a large collection of small projects for beginners with
- Wrong "big projects" for beginners : How to choose where to start
General Coding advice
- Things I Wish Someone Had Told Me When I Was Learning How to Code — Free Code Camp
- Lessons From A Lifetime Of Being A Programmer
- Principles of Good Programming
- What every computer science major should know
- How to become a programmer, or the art of Googling well
- Code Review Best Practices
- Dieter Rams : 10 Principles of Good Product Design
- 10-ways-to-be-a-better-developer
- Working as a Software Developer
- Software design patterns and best practices
Coding Style
- CS 106B Coding Style Guide : must see for those who create spaghetti
- Google C++ Style Guide
- What are some bad coding habits you would recommend a beginner avoid getting into?
- Good C programming habits. • /r/C_Programming
- How to Report Bugs Effectively
- Debugging Faqs
- Stuff you need to Code Better!
- Directory of Online CS Courses
- Directory of CS Courses (many with online lectures)
Interview Preparation
- GeeksforGeeks | A computer science portal for geeks : also subscribe to their feeds to get links to their new articles.
- A site for technical interview questions, brain teasers, puzzles, quizzles : whatever the heck those are) and other things that make you think!
- Problems | LeetCode OJ : Coding practice for interviews
- Programmer And Software Interview Questions Answers
- Reddit.com/user/ashish2199/m/puzzles : Logic Puzzles
- A Collection of Quant Riddles With Answers
- Aptitude Questions and Answers : Quant and aptitude preparation
- Interview Archives - Java Honk
- Top 10 Algorithms for Coding Interview
- Algorithm design canvas)
- Big-O Algorithm Complexity Cheat Sheet
- Unix / Linux Cheat Sheet
- How to interview
- How to Ace an Algorithms Interview
- Delightful Puzzles
- visualising data structures and algorithms through animation
- Here's How to Prepare for Tech Interviews • /r/cscareerquestions
- Guide to Tech Interviews
- Why You Make Less Money • /r/cscareerquestions
- IIT Delhi Placement Experience
- what_are_your_goto_questions_for_the_do_you_have?
- /r/cscareerquestions : Here's a pretty big list of programming interview questions I compiled while studying for big 4 interviews. I think you guys will find it useful! •
- Interviewing At Jane Street
- How to prepare for an interview - 1
- The 25 most difficult HR questions
- Job interviews News, Videos, Reviews and Gossip - Lifehacker
- How to Answer the Toughest 40 Job Interview Questions | ICS Job Portal
- Job Interview Questions and Best Answers
- How to Answer "Tell Me a Little About Yourself" | The Art of Manliness
- Job Interview: How to Ace a Job Interview | The Art of Manliness
- Give your résumé a face lift
- BIG O Misconceptions
- Bitwise tricks
- Core Java Interview questions - Interview question on each topic
- Java Interview Questions and Answers
- Big collection of interview preparation links • /r/cscareerquestions
- Unsolicited_advice_for_job_seekers_and_employers
- five-essential-phone-screen-questions - steveyegge2
- CS9: Problem-Solving for the CS Technical Interview
- Mission-peace/interview problems : A large collection of coding interview problems
- SQL Joins explained using venn diagram
- 10 Frequently asked SQL Query Interview Questions
- Get Ready to Learn SQL: 8. Database Normalization Explained in Simple English - Essential SQL
- Programming Language Concepts: Lecture Notes OOPs concepts and programming language concepts.
- We Help Coders Get Hired : website offering courses on system design, interview strategies, soft skills etc
- checkcheckzz/system-design-interview
- How to Break Into the Tech Industry - a Guide to Job Hunting and Tech Interviews
- Freshers Interviews
- C PUZZLES, Some interesting C problems
- A site for technical interview questions, brain teasers, puzzles, quizzles (whatever the heck those are) and other things that make you think!
- wu :: riddles(hard) : logic puzzles and riddles
- https://github.com/odino/interviews : list of important questions for interview
- svozniuk/java-interviews : Java interview questions
- kimberli/interviews : study sheet for Interview
- Determining the big-O runtimes of these different loops? : really good stackoverflow question that covers basics of calculating runtime complexity.
- ChiperSoft/InterviewThis : questions to ask during on a interview to know more about the company.
Documentaries
- Machine that Changed the World - a very good documentary about history of computers
- Triumph of the Nerds Play-list
- Project Code Rush - The Beginnings of Netscape / Mozilla Documentary
- The Code: Story of Linux documentary
- Revolution OS Linux Documentary
- Breaking the Code: Biography of Alan Turing
- Mechanical Computer (All Parts) : a very good video from 1950s explaining how mechanical computers used to work without all the modern day electronics.
- Download: The True Story of the Internet : Play-list of discovery channel documentary on browser wars , dot com bubble and more.
- Teach Yourself Computer Science
- How does CPU execute program (video)
- Machine Code Instructions (video)
- Harvard CS50 - Asymptotic Notation (video)
- Cracking The Code Interview
- Cracking the Coding Interview - Fullstack Speaker Series
- Ask Me Anything: Gayle Laakmann McDowell (author of Cracking the Coding Interview)
MOOCs for learning something new
- NPTEL Vidoes COMP_SCI_ENGG
- Coursera.org
- edX
- Udacity
- UCBerkeley
- MIT OCW Electrical Engineering and Computer Science
- CS50
- prakhar1989/awesome-CS-courses : List containing large amount of CS courses
- Computer Science Resources : list of MOOCs for autodidacts
- https://github.com/prakhar1989/awesome-courses/blob/master/README.md : collection of CS courses on Internet
Sites related to your preferred programming language (For me Java)
- Java Revisited : good for learning about Java Language and interview preparation.
- The Java™ Tutorials : The best tutorials for Java.
- Java Corner at Artima.com
- Java Visualizer : helps visualize references , values of variables ect
- Java Lecture Notes
- Learning Java : a free online textbook for learning Java
- Free Online Chapters of Inside the Java Virtual Machine by Bill Venners
- Understanding JVM Internals
- How Garbage Collection Works
- Welcome to JavaWorld.com
- The Java Memory Model
- Netbeans Keyboard Shortcuts : Keyboard shortcuts to enhance your productivity when working in Netbeans.
- XyzWs Java FAQs : large collection of java interview questions
- Search Open Source Java API : view source of java library and learn how things are implemented.
- JournalDev - Java, Java EE, Android, Web Development Tutorials
- Implementation of Algorithms and Data Structures, Interview Questions and Answers
- what-is-garbage-collection : Demystify the garbage collection
- Best books for learning java must read: Get basics of Java
- Garbage collection (Java); Augmenting data str (video)
- Compilers (video)
- Deep Dive Java: Garbage Collection is Good!
Learn AI
Seminar , research writing , talks etc
- Advice on Research and Writing
- Seminar and reports
- PHD MS Articles
- Practical Tips for Talking at Usergroups and Conferences
- Giving presentation on software project to non-programmers
Everything in one place
- reddit.com/user/ashish2199/m/cs_student_subs : a multisubreddit of all subreddits of topics related to computer science and programming.
YouTube Channels
- Computerphile : Must watch for every CS student
- ComputerHistory : for those who like to know how we reached where we are.
- GoogleTechTalks : videos on trending topics and cool stuff happening in the tech industry.
- Placement Grid : Interview and campus placement experience
- Google Developers
- Facebook Developers
- O'Reilly : interviews and talks of world's best technical writers.
- Java : talks related to java
- JavaOne : Java Conference
- CppCon : C++ Conference
- Meeting C++ YT Kanalseite : Talks on C++
- ThinMatrix : blogs and tutorials developer making a 3d game in Java using opengl
- yegor256
- Scott Meyers: Past Talks
- thoughtbot : talks on various topics
- NOKIA Wroclaw Technology Center : Nokia code dive conference
- HowToBecomeTV : contains good interviews of developers and people related to tech industry.
- ITCuties .
- CodeBabes : For those who think CS lacks glamor :P
Good Articles
- Expectations of a Junior Developer
- The Key To Accelerating Your Coding Skills
- A Software Developer’s Reading List : Some good books and links in there.
- how-to-break-into-tech-job-hunting-and-interviews/
- 40 Keys Computer Science Concepts Explained In Layman’s Terms
- What every programmer should know about memory, Part
- We are reinventing the retail industry through innovative technology
- Unicode
- What every programmer absolutely, positively needs to know about encodings and character sets to work with text
- List of algorithms
- Dive into the byte code
- What every computer science major should know
- Teach Yourself Computer Science
- Data Structure Map
- A Gentle Introduction To Graph Theory
- Linux Inside
- A programmer friendly language that compiles to Lua.
Building a Simple Compiler/interpreter
- Resources for Amateur Compiler Writers
- ⛄ Possibly the smallest compiler ever
- Writing My First Compiler
- Structure and Interpretation of Computer Programs
- Let’s Build A Simple Interpreter. Part 1.
- Growing a compliter
Tutorials
- Tutorialspoint
- W3Schools Online Web Tutorials
- Open Data Structures : Excellent resource for learning about DS and algos , provides code in various languages C++ , Java , pseudocode
- Data Structures and Algorithms by John Morris : another good source with code and its analysis
- CMSI 281: Data Structures : light weight introduction to DS
- How to Program in C++ : Good resource for revising C++ topics and STL
- TopCoder Tutorials
- A Hacker's Guide to Git : for those wanting to learn git with a solid foundation
- Git from the inside out
- Learn UNIX in 10 minutes
- The Bash Guide : very good guide for learning the Bash Shell
- Linux Tutorial : good resource for learning Linux
- UNIX Tutorial - Introduction
- Linux Tutorial for Beginners
- Learning the shell.
- Dynamic programming - PrismoSkills : very good resource if want to learn how to solve DP problems.
- Deep C : very good presentation on C language
- C programming language Frequently Asked Questions
- OS Course Notes : Chapter wise course notes according to Galvin's book
- SQL (Structured Query Language) in one page : SQL.SU : a very good SQL cheat sheet
- Introduction to C Programming
- MySQL Essentials
- http://www.mysqltutorial.org/
- Best Of - Gustavo Duarte : contains articles on various topics
- Collecting all the cheat sheets : cheat sheets for lots of programming languages
- The Descent to C : for those moving to C from some higher programming language like java or python.
- VimTutor+ : learn VIM from browser itself
- HackerEarth Tutorials : Good resource for DS and Algos tutorial
- Linux Journey : good site for learning linux
- C Programminng
- CS 2112/ENGRD 2112 Fall 2015 : Good notes on data structures and algorithms.
- More about Github-flavored markdown
- The Unix Programming Environment
- The Linux Command Line: A Complete Introduction
- TCP/IP Illustrated Series
- Head First Design Patterns
- Design Patterns: Elements of Reusable Object-Oriented Software : aka the "Gang Of Four" book, or GOF
- UNIX and Linux System Administration Handbook, 4th Edition
- Programming, Web Development, and DevOps news, tutorials and tools for beginners to experts
Watch others code
- LiveCoding.tv : screencast of people building application , websites , games ect.
What should a programmer know
- Programmer Competency Matrix : article for knowing what our level as a programmer is.
- GitHub.com Build software better, together : Place to showcase your project and collaborate with others. (Must know Git in order to use it effectively )
- Gitlab offers free unlimited (private) repositories and unlimited collaborators.
Competitive programming
- HackerRank
- Codeforces
- topcoder
- HackerEarth - Programming challenges and Developer jobs
- CodeChef
- PKU ACM ICPC Practive problems
- Archived Problems - Project Euler
- Google Code Jam Practice and : past contest problems for practice
- Sphere Online Judge (SPOJ)
- Art of Problem Solving
Computer Books
- IT eBooks - Free Download - Big Library : website for downloading ebooks without any advertisement and instant downloads.
- github.com/vhf/free-programming-books : More than 500 free ebooks on almost any language you can think of
- Computer Science Books Online : about 150 computer free ebooks
- Best books for GATE CSE
- https://cses.fi/book.html
Video Tutorials
- Tushar Roy : Algorithm and Data structure tutorial by a Indian Youtuber.
- Derek Banas : good quality tutorials
- thenewboston : good but with too much talk as compared to actual content
- mycodeschool : Data structures and algorithms tutorials
- CodeGeek
- CodingMadeEasy : C++ tutorials
- XDA-University - Helping You Learn Android Development
- DevTips : web dev tutorials
- Javascript Planet : Java script and web development tutorials
- codedamn : front end web dev tutorials
- Design and Analysis of Algorithms
- Vim Tutorial Videos - Flarfnoogins : good video tutorial for learning vim
- CS1: Higher Computing - Richard Buckland UNSW : a very good introductory CS course
- Kathryn Hodge : Has good videos for beginners
Online Compiler and Sharing Code snippets
Blogs of Developers
- Coding Horror : one the best coding blog
- Joel on Software
- Stephen Haunts { Coding in the Trenches }
- Programming in the 21st Century
- Clean Coder Blog : blog of author of book "Clean Code"
- Programming Blog : programming blog of Yegor Bugayenko
- 10K-LOC
- http://stevehanov.ca/blog/
- Geek Land
- Late Developer
- IT Enthusiast
- blog.might.net
- CSE Blog - quant, math, computer science puzzles
- My Tech Interviews
- HackerEarth Blog
- Algo-Geeks
- CoderGears Blog Insights from : the CoderGears Team
- blog.might.net
- Runhe Tian Coding Practice
- Paul Graham Essays
- Dan Dreams of Coding
- Antonio081014's Algorithms Codes
- Math ∩ Programming
- Takipi Blog : mainly focuses on Java and JVM languages
- Coding Geek - A blog about IT, programming and Java
- Daedtech.com : Strories about software
- Archives — Ask a Manager : HR related stuff
For improving your English
- Quia - English
- Punctuation and Capitalization Rules
- Guide to Grammar and Writing
- Purdue University Online Writing Lab (OWL)
- Englishclub.com/learn-english
When you get bored from CS related stuff
- r/ProgrammerHumor
- Guide to Grammar and Writing : for those who want to improve their english language skills.
- Vsauce : The best youtube channel
- TED
- CrashCourse : small courses on various subjects
- National Geographic
- Barcroft TV
- ColdFusion
- SmarterEveryDay
- SciShow
- Big Think
- Every Frame a Painting
- TestTube News
- Reddit the front page of the internet
Maintained with ❤️ by sdmg15 & al