
Explore the history of computing, how the internet works, and core ideas from front-end to back-end, APIs, CMSs like WordPress, and popular programming concepts.
Join the Slack community and learn alongside other Pre-Programming students!
Details inside.
Uncover what a computer is: any machine that solves problems automatically, and see how devices around you—from calculators to watches, cash registers, and RFID badges—are computers.
Explore how the cpu executes instructions and how memory, including ram and hard drives, stores data to enable computers to solve problems when commanded by users.
Explore how computers receive input from peripherals like keyboards and mice, process it, and produce output on the monitor, and see how programmer input becomes computer responses.
Explore machinespeak, the binary foundation of computing, and how transistors, motherboards, and drivers translate 0s and 1s into hardware actions.
Learn how an operating system makes computers usable by translating high-level instructions into machine code, from MS-DOS to the terminal, and the roles of software, hardware, and the interpreter.
Trace the evolution of operating systems from text-based interfaces to graphical user interfaces, highlighting MS-DOS, Xerox's GUI, open source Linux, and the rise of Windows and Macintosh OS.
Explore desktop software as applications running on an operating system, translating high-level code to machine code for hardware, and fueling a platform-driven app ecosystem.
Explore how the internet works, including TCP/IP, DNS, and HTTP, and how the World Wide Web standardizes information for developers.
Learn how the internet works by exploring roles of clients, servers, and nodes, and how an internet service provider, modem, and router connect your device to a server over wifi.
Explore how browsers act as interpreters that connect to servers and translate web code into system actions, and compare Chrome, Firefox, Safari, Opera, and IE.
Explore the anatomy of mobile sites and mobile apps. Understand how responsive web design adapts pages for small screens and how apps bundle files offline.
Learn how programming languages are rules that tell computers what to do, since machines understand machine code, not human language, and why there are multiple languages for different use cases.
Explore how JavaScript drives interactivity on web pages—from dynamic loading, font changes, and popups to animations—note its 1990s origins and future focus on full-stack JavaScript.
Discover back-end languages that run on servers to service websites and web apps, tackle backend complexity, and learn how software engineers bridge front-end and back-end work, with Python coming up.
Discover PHP, an open-source back-end language with a large, free community and easy-to-learn appeal, powering Facebook and WordPress despite occasional inefficiencies.
Explore Ruby, a fast, easy-to-use back-end language designed to save development time with automation and intuitive changes, while noting its newness, trendy appeal, and performance limits on large systems.
Explore how to use Sublime Text as a beginner-friendly text editor and IDE, save HTML files, color-code code, and preview changes in the browser for quick feedback.
Explore how programming languages share core concepts while using different syntax, with comparisons of python, php, and java and an explanation of strict versus expressive syntax.
Learn how variables store information, assign values like A=1 and B=2, and compute subtotals, tips, and totals. See how variables prevent hardcoding and propagate across pages in apps.
Learn how printing outputs back-end calculations to the browser, with Python, Ruby, and PHP examples, and distinguish front-end display from back-end logic.
Master the practice of commenting to explain code, prevent browser misreadings, and ease future hires when maintaining or extending an existing codebase.
Learn how strings store text in variables and display content with print. Master handling quotes with escape commands, cross-language differences in quotation marks, and concatenation in Python and PHP.
Learn how arrays store a series of like-formatted data in one container, saving time by avoiding multiple variables, and how to access items with a pointer.
Explore how programming frameworks provide a predefined structure that speeds development by reusing code and automating common tasks across languages like PHP, Python, and Ruby.
Front-end frameworks provide pre-made systems, including grid layouts, UI kits, and interaction snippets, to speed up styling and interactivity with ready-to-use components and routines.
Discover how back-end frameworks organize server-side code, offer pre-made functions for databases, APIs, and payments, and compare full versus micro frameworks while shaping programming styles like MVC and OOP.
Differentiate the development environment from the integrated development environment (IDE), noting how IDEs support frameworks, syntax checks, auto-complete, file organization, and version control, with examples like Visual Studio and Xcode.
Learn what a content management system (CMS) is and why it matters for web publishing. See how CMSs enable non-programmatic content management with templates and analytics.
Explore git as an online repository for saving code versions, its distributed, cloud-based design, and how GitHub features like bug tracking and forking enable collaborative development.
Explore continuous integration as a system that speeds up large-team development through frequent check-ins, automated builds, and coordination via version control and build servers.
Explore full stack JavaScript, using Node.js and the V8 engine to run on front-end and back-end, with asynchronous JavaScript and multi-threading; consider its efficiency and database limitations.
Explore how to learn programming, including languages, tracks, and online resources, and maximize ROI on your time and money. Clarify web development, software development, full stack development, and hackers.
Define web development, software engineering, full stack development, and hackers, and explain their front-end and back-end focuses, differences between websites and apps, and typical roles.
Choose your programming path by weighing design versus logic, front-end versus back-end. Consider startup or big company goals and solo projects, and pick Python or Ruby to get things done.
Learn front-end development by mastering HTML, CSS, and JavaScript, enjoy rapid visual feedback through interactive design, and follow a practical path from basics to frameworks with online courses and bootcamps.
Learn Ruby, PHP, and Python for back-end development, starting with syntax basics. Utilize Codecademy and Codewars, plus Google and Coursera courses, to master Rails and Django.
Stick with technologies that persist over time instead of chasing hype around mean stack, MongoDB, Node.js, or React. For freelancers, prioritize clear client communication and core skills over flashy tech.
60%+ of people who try to learn how to program end up quitting.
Why?
Is it because "programming just isn't for everyone"?
Or is it because only those with experience in hard sciences can learn it?
No, neither of those are true. It's simply due to the fact that the vast majority of people who try don't have a basic understanding of the technology they're going to use.
How exactly can you tackle responsive design if you don't know how a browser works?
How are you going to create a desktop application if you don't know what makes your computer freeze constantly (besides porn, obviously)?
How are you going to hide your confused facial expression the next time your site's server crashes because of a "node socket problem" in your full stack Javascript?
If you've ever taken your computer to a technician and said "Make it work" or "It don't work good. Me cry" then you're exactly who needs this course.
Over the next 10 years the United States is expected to add over 2 million programming jobs. Jobs that pay well over $100,000 a year. And that's just the United States (Merica').
So if you're trying to jump on the coding gravy train, put down your bronze statuette of Elon Musk standing on Mars, and start filling in the gaps in your "tech literacy". Even if you yourself do not become a "coding ninja" yourself all the future coding ninjas you work with with thank you (and tell you to stop calling them coding ninjas).
About your instructor:
Hi, I'm Evan Kimbrell. I too struggled to learn the basics of programming. If failing to program were a sport, I'd be on the Dream Team.
Today, I run a web and mobile development agency called Sprintkick and over the last 4 years we've built and managed over 100+ web & mobile applications.
How does one so technologically challenged manage to pull this off? Well, first off I would disagree with "technologically challenged" (come on) and second it was actually straight forward. I just had to spend a concerted amount of time learning what I needed to know about basic computer, web, and programming technology as well as modern technology trends and advanced concepts.
This course is an accelerated path designed to get you to "I get it" and finally start communicating correctly & effectively about technology.