MSU Denver Computer Science
Aimed primarily at students taking CS1030 and CS1050, this should serve as a useful place to go to for learning resources. It is a compilation of things I found to be helpful in my own self-guided learning and would like to share.
New To Programming
- The Missing Semester of Your CS Education (MIT) - Ths course is aimed at teaching students how to use their computers. Something often overlooked in CS curriculum, it gives them a hands-on introduction to tools they will use in a variety of situations such as their command-line environment and version control with Git.
- Programiz - This website offers beginner-friendly tutorials on a variety of programming languages with examples.
Python Programming Resources
- Corey Schafer - Courses for Python and other Python related topics on YouTube.
- Python Crash Course - PDF - If you’re unable to afford the book, this is for you. It’s the first print which was written for Python 3.5, if you run into issues you can use the link below to track the differences for certain chapters.
- Python Crash Course - GitHub Pages - From the author, An online collection of resources that accompany the book, with written walkthroughs, updates and source code.
Java Programming Resources
Apply Your Knowledge
- Exercism.io - Community backed and open source, Exercism is a great place to learn and get feedback on solving problems. They offer the ability to work with or without a mentor and it focuses on test-driven development. As an added bonus, retrieving problems and submitting solutions is done through a command-line interface.
- Codingbat - A great place to start if you’re not used to solving coding challenges, with the ability to do so in both Java and Python.
- Simplified Interview Questions
- JetBrains Academy - A fairly new learning platform, JetBrains the creators of popular industry tools has created a project based learning platform with a great learn by doing approach, building real-world projects in Java, Python and Kotlin.
- Code Visualizer - This is a small tool that lets you visualize what your code is doing, Works with Python, Java and C++ code.
Data Structures and Algorithms
- SQL Bolt - Interactive SQL lessons to learn SQL from your browser without the need to set it up on your own machine.