
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.
Discover why it matters to care about computers and learn the basics of how they work under the hood, including RAM, BIOS, and machine code.
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.
Learn how domain names resolve to IP addresses using the DNS, and how ICANN governs domain ownership and availability to keep your browser connected.
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 how websites are built from a folder of text files, with index.html as the first file the browser opens, CSS for design, and back-end scripts for functionality.
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.
Explore the origins and impact of netscape, from LiveScript to JavaScript and SSL. See how browser wars and early e-commerce reshaped the internet.
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 the basics of HTML, the hypertext markup language behind most websites; learn how tags shape text, images, and links, and preview HTML5’s rich embedding capabilities.
Learn how css enhances html by controlling layout, style, and positioning through classes and separate style sheets, and understand cascading, nesting, and inheritance in css3 for modern front-end design.
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.
Explore Python as a versatile, expressive, easy to learn back-end language that powers web apps, data analysis, and scientific computing.
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 the concept of a technology stack and how operating systems, servers, databases, and languages combine to power web and mobile apps, including the lamp stack and its variants.
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 how an API, the application programming interface, enables external apps to transfer information, using the waiter analogy and examples like Facebook, Twilio, and Udemy APIs.
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 the big three CMS: WordPress, Drupal, and Magento, and compare their roles in publishing, modules, and e-commerce, from blogs to online stores.
Explore WordPress basics, differences between WordPress.com and WordPress.org, and how themes, plugins, and extensions shape sites, plus a five-minute install and wp-admin setup.
Explore the rise of the new guard CMS, driven by WYSIWYG interfaces and closed systems like SquareSpace, Weebly, and Shopify, with focus on design and e-commerce.
Explore Shopify as a modern, SaaS-driven CMS built in Ruby on Rails for ecommerce stores, offering templates and an admin panel with monthly pricing, while noting domain and sales‑commission limitations.
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 object oriented programming as a scalable alternative to procedural paradigms, and see how classes, objects, and instantiation organize data and behavior in ecommerce and social networks.
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.
Leverage hybrid apps to use web code compiled by Phone Gap to run on multiple platforms, saving time and money while sacrificing interactivity and native access, impacting user experience.
Learn how responsive design lets websites adapt to diverse screen sizes by detecting the viewer's device, adjusting layout, spacing, and content while handling browser differences and performance trade-offs.
Define cloud as remote storage and access, then explain SaaS, PaaS, and IaaS with examples like Canva, Google Docs, AWS, Azure, and Heroku.
Explore SWIFT, a relatively new language by Apple for iOS, OS X, Watch OS, and TV OS, designed to be safer and faster with a playground to test code.
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.
Choose a back-end language based on your goals and industry, then use Built With to align with company tech stacks, guiding you toward Ruby, Python, PHP, or Java.
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.