Home [Learn]
ACM's Page of Recommended Learning!
Welcome to our learning page. This page is a list of recommended resources, materials and tools to learn from! In order to be effectivfe in the real world, one must train constantly. Technology is constantly changing, coding languages change, libraries are added, tools are modified, packages are deprecated, and system interfaces are updated. The point is, things change, and with it, so do we.
Learning Code
- HackerRank - Amazon, Dropbox, and other big companies use this for internship challenges
- LeetCode - More diverse than HackerRank in terms of languages, problems more straight to the point
Ethical Hacking
- HackTheBox - Great Pen-Testing Labs!
- OverTheWire: Bandit - The Bandit wargame is aimed at absolute beginners. It will teach the basics needed to be able to play other wargames.
- HighOnCoffee - Penetration Testing && Security Research Blog!
- VulnHub - Has many vulnerable environments as well as walkthroughs to help you understand how to exploit them!
- Web Security Academy - Amazing free courses covering many topics including: SQL Injection, Cross-Site Scripting, Cross-Site Request Forgery and many more. Created by the authors of the Web Application Hackers Handbook and the developers of Burp Suite.
Python
- Learn Python - Python tutorial for beginners!
- Learn Python 3 the Hard Way - Python Book for beginners that helps you learn Python Shell, understanding the Pythonic way of programming, and good tips
- Fluent Python - A more advanced book for Pythonic Programmers! Not for the faint of heart, but a good read also with some example code on GitHub from the author himself
Docker
- Docker Tutorials - Docker tutorials for beginners!
Linux
- LinuxZoo - Great way to learn the basics of linux!
- CommandLineFu - Really good place to find useful command line commands!
- Linux Bible - Outstanding book that covers the majority of what you need to get started in Linux. The author is a RedHat Engineer that covers in detail different aspects of Linux to help with your development, systems engineering, and even some cloud computing
Other Books
- Cracking the Coding Interview - Book written by a Software Engineer to help other Engineers master interviews including whiteboard interviews
- Clean Code: A Handbook of Agile Software Craftsmanship - Book that helps you understand the importance of clean code
- Code Simplicity - Understanding how to simplify code makes it easier for code maintenance and readability, learn how!
- The DevOps Handbook - This book is a requirement for many DevOps!
Podcasts
- Talk Python to Me - Michael Kennedy’s Podcast covering all things Python!
- NOTE: Using Google Podcast App is beneficial here as you can speed up playback
Useful Tools to Know
// Versioning
- Git - Git is a distributed versioning control system
// Virtualization
- Vagrant - Vagrant is a trusted tool for building managing virtual environments
- ACM Workshop Notes
- NOTE: You will need VirtualBox, Docker, or VMware
- VirtualBox - A free and open source virutalization product to host VMs
- VMware - Provides personal desktop virtualization software such as Player (free), Workstation, and Fusion (for MacOS)
- NOTE: VMware is known for its stability over VirtualBox and better support, particularly Workstation and Fusion
// IDEs and Text Editors
- JetBrains Products - Professional Grade IDEs for many languages (PyCharm, IntelliJ, etc)
- NOTE: Students get professional edition for free for a year! Click here
- VSCode - Great IDE for Web Development and outstanding plugins!
- Sublime Text - Excellent text editor that is quick for coding
- VI/VIM - A text editor built by developers for developers, a personal favorite that is implemented in many IDEs and environments, including most linux terminals, sublime, jetbrains products, etc
- NOTE: The reason for vim’s popularity is because of its command and editing capabilities, allowing a user to never touch their mouse while using powerful shortcuts for navigation and editting
Sponsored Learning
- GitHub Developer Pack - Comes with a plethora of useful developer tools for free
- AWS Educate - Want to be a certified cloud engineer? DevOps? Free education for students
- Linux Academy - For $80 per 3 months, you get access to TONS of materials from Linux, RedHat, Containerization, DevOps, and more!
- Udacity - Outstanding Online Course Website that has a great material for various topics!
- Udemy - Another Online Course Website that has cheap to free courses for various IT products!
Where to Purchase Books for Cheap
- HumbleBundle - A great place to look. Almost always has a collection of books that you can get for cheap. Keep your eyes peeled, some of the books we recommend sometimes show up!