
Download source files
Learn to format lists in HTML using ordered (ol), unordered (ul), and definition (dl) lists with li, dt, and dd, including nesting and type attributes for numbering.
Learn to prepare web images by resizing to 500 pixels, convert to browser-friendly formats (jpeg, gif, png), and balance quality and file size using save for web options.
Learn to apply styles with CSS using inline styles, style tags, and external style sheets; control text alignment with text-align and understand cascading rules for paragraphs and headings.
Explore how to apply font styles and sizes using relative units (percent, em, rem) and pixels, with inheritance from the body to headings and paragraphs.
Explore how to use CSS color properties to style text with named colors, hex values, RGB/RGBA, and HSL/HSLA, including transparency and browser compatibility.
Show how to use class and id selectors with CSS to target specific elements, reuse rules via style sheets, and group content with span and div.
Learn to create internal and external links with the anchor tag and href, control opening with target, and build mailto and image links for a navigable web page.
Create in-page navigation by marking sections with unique id attributes and linking to them via anchor tags using href with a hash.
Explore styling links with CSS by handling normal, visited, and hover states, set colors (red for unvisited, green for visited, blue on hover), and remove underlines using text-decoration.
Explore how to arrange page elements using floats to position images and text, control wrapping, and apply clear rules for left, right, and mixed layouts.
Learn to style HTML tables with borders, widths, alignments, padding, and spacing using shorthand and longhand border properties, selectors, and grouping tags like thead, tbody, and tfoot.
Explore checkboxes, radio buttons, text areas, and dropdown menus. Assign name and value attributes, and use select and option tags to capture user data.
Add label tags and ids to form inputs, then style labels and inputs with css—float, margins, and alignment—and use a checks class to align checkboxes, radios, and the submit button.
Learn to prepare streaming video for the web by converting a video into mp4 and ogg theora formats with a free converter, ensuring cross-browser playback.
Set up streaming video on a web page with the video tag, including width, height. Add multiple sources (webm, mp4, ogg) with type attributes, poster, controls, and a fallback text.
Build a complete website with H-2A L5 and CSX, applying new age DML tags, attributes, and CSSA properties to expand your web vocabulary.
Download source files
Explore basic math in Python 3, covering integers and floats, and perform arithmetic operations like addition, subtraction, multiplication, division, and exponentiation, with examples and notes on division behavior.
Learn how to use variables as placeholders to avoid hard coding and store integers, floats, strings, and more. Follow naming rules like not starting with a number and using underscores.
Explore the for loop and its interchangeable use with the while loop for finite and variable-time tasks; learn iterating lists, using range in Python 3, and the generator function.
Understand how the else statement pairs with if to add logic in Python, using simple comparisons like x less than y or x greater than y.
Explore python conditional logic with if, elif, and else, showing how to chain conditions, avoid multiple independent ifs, and use or to combine checks.
Explore defining and calling functions in Python with def, parameters, and indentation, while avoiding name conflicts with built-ins like print; organize code with a main function or main loop.
Explore function parameters in Python, using defaults to manage many options and maintain order. Learn how named parameters ease customization for examples like websites and graphs.
Explore global and local variables in Python, learn how scope affects access and modification inside functions, and compare best practices for using or avoiding global state.
Learn to diagnose common Python errors, including name errors, indentation and syntax errors, and module issues, by reading error messages and checking variable definitions and quotes.
Append to a file using append mode to add data without overwriting existing content, and use new line characters to separate entries; learn basic read and split by newline techniques.
Learn how to read from a file in Python 3 by opening a file, reading with read or readlines, and splitting by newline to form a list.
Define and use a simple calc class with add, subtract, multiply, and divide methods; learn how a class functions like a module and how to read code to understand it.
Explore how Python 3 uses input for user prompts and how to use the statistics module to compute mean, median, mode, standard deviation, and variance.
Learn how to create and use Python modules by turning scripts into modules, saving and importing them from the same directory, and understanding local and site-packages locations.
Learn how to use try and except in Python to catch and log exceptions. Continue program execution by handling specific errors such as type, name, and import errors.
Compare lists and tuples in Python, explain mutability and immutability, and demonstrate sequence unpacking alongside core list operations like append, insert, remove, index, count, and sort.
Learn to build a simple grade-tracking program in Python by combining loops, conditionals, functions, and dictionaries; includes login, add/remove students, and computing averages.
Download source files
Explore strings and basic string manipulation functions using Xcode playgrounds to illustrate core programming concepts in this introduction to variables and strings.
Declare and manipulate variables in Swift using var, name, type, and value, and explore integers, floats, and strings in playgrounds that display memory state and computed results.
Explore strings in Swift by defining string literals with quotes, concatenating with + and +=, interpolating variables using \(variable), measuring length, and building a console madlib app in a playground.
Master variables and strings with playgrounds, and apply these foundational concepts across the course chapters.
Celebrate completing your first app and look forward to the next session as you continue your programming journey.
Master control flow and branching with if statements, apply boolean operators and variables, and understand operator precedence to write clearer, reliable code.
Explore how boolean expressions evaluate to true or false and how to combine them with and, or, and not operators to understand when expressions are true.
Learn arithmetic and comparative operators, including modulo and compound assignments, with attention to postfix and prefix increments. Understand operator precedence and the role of parentheses and comments.
Learn to redirect program control flow with if else statements, mastering boolean variables, boolean expressions, and operator precedence for clearer decision making.
Explore how collections and loops drive control flow by repeating tasks and storing multiple values in a single variable of the same type. See how these concepts interact synergistically.
Discover type inference that lets Swift deduce types while using constants to reduce complexity; learn arrays as ordered collections of the same type, with index access, isEmpty, and count.
Master for loops to repeat statements, iterate i from 1 to 100, and print a times table, while exploring nested loops and zero-based indexing for arrays.
Learn to use while loops alongside for loops, understand the boolean test, and control flow with break and continue to exit early or skip steps.
Learn to combine for loops and while loops with collections to print and compare account information from multiple sources, using dictionaries, arrays, optionals, and key-value tables.
Extend a max function to return both min and max using tuples and an array input. Use a for loop and first-time initialization to handle negatives and empty lists.
Explore external parameter names and default parameter values in functions, using concise one-line if-then-else forms and floating-point return types to enforce explicit calling and cleaner code.
Explore how Swift uses custom types to group values and enforce type safety with descriptive labels and autocomplete. See how type safety prevents mismatched assignments and enables safe array indexing.
Learn the difference between instance and type methods in Swift, using static type methods to compare two patients and determine which is older with practical examples.
Explore a powerful and flexible data structure that supports multiple data types under a single roof, enabling a custom made approach.
Explore object oriented programming in Swift by defining a base class, creating a family of shapes through inheritance, and comparing classes with structs while managing initialization and a bounding box.
Explore the benefits and drawbacks of inheritance: code reuse, easier maintenance, hiding complexity, and flexible class hierarchies, alongside tight coupling risks and the case for flatter designs and alternative approaches.
Learn how protocols define method signatures with no implementations, how a class can inherit from a parent class and adopt multiple protocols, and how this decouples code for flexible design.
Explore classes, protocols, and optionals in Swift, and cultivate steady practice to make these advanced topics second nature.
Download source files
Explore the go language using the golffing dot org online editor, learn its characteristics and benefits, and review imports and common libraries in go.
Discover why Go is a compiled, cross-platform language with first-class functions and strong typing, built for concurrency using Go routines and channels, plus garbage collection for memory efficiency.
Learn Go variable declarations using the var keyword, type inference from initial values, and multiple declarations, plus default zero values for strings, booleans, and integers.
Learn about types and casting, including primitive types, integers, and floats, string-to-integer conversion, tuple-like returns, underscores to discard values, and formatted output with print.
Download the go binary for your platform, install the runtime, pick a lightweight go IDE, create a project, and build on the correct architecture (Darwin 64 or Windows).
Declare and use functions to calculate inventory and create a dealer's full name, returning strings and a tuple of dealer name and percent sold.
Learn how variadic functions accept an undetermined number of parameters of the same type and print them by iterating through the list, using the three-dot syntax.
Learn how pointers pass data by reference to allow in-place changes, not copies, using ampersand and star syntax. See shipping days and a Schipper struct updated via pointers.
Explore maps as dictionaries of key-value pairs by building a car dealer inventory with string keys and integer values, including adding, deleting, length checks, and default zero lookups.
Define interfaces as behaviors and bind them to structs to enable talk and walk, using a pointer to reflect by-reference updates and illustrating with a person and police officer.
Explore advanced go topics, including object composition and polymorphism via interfaces, file IO, constructors with defaults, encryption and decryption, json publishing and consumption, and multi-file packages using net/http and html/template.
Explore object composition in Go by using a vehicle struct as a base for cars, exposing mpg and number of doors through methods with a pointer receiver.
Create a constructor function to provide default values for a car instance, returning a pointer with mpg 20, doors 4, and color black.
Read a file, convert the content to a string, and append new text by writing bytes with a specific file mode.
Publish json from a Go web server and consume it on the same site, building an envelope with data maps for cars and trucks and practicing json marshaling.
Explore the differences between concurrency and parallelism and how Go enables orchestrating multiple tasks with go routines, channels, and the go keyword.
Explore creating cars data as a map, display with formatted printing, and run Go routines to observe output order that can vary, plus using a scan line to pause.
Explore go routines and channels to coordinate a three-stage assembly line—frame, body, interior, and paint—passing frame names between stages to synchronize workflow.
Install the Java development kit and NetBeans, set the path environment variable, and write a simple Java program to compile and run Hello World.
Explore setting up a NetBeans Java project, understanding the directory structure, and creating a main class with the main method, including a hello world printout using System.out.println.
Explore variables in java by declaring a type and an identifier, using comments, and assigning values, then learn about primitive types from byte to double and how System.out.println prints them.
Explore how to use and or operators to combine boolean conditions, like A < B and B > C, and learn how brackets control evaluation.
Learn how to declare and initialize arrays in Java, access elements by zero-based indexing, and use the array length property to iterate and print all workers' names.
Explore multi-dimensional arrays, including two- and three-dimensional arrays, an array of arrays, and how to declare, initialize, and iterate coordinates with nested for loops.
Master array lists in Java as dynamic arrays that grow with add and shrink with remove, use import for java.util.ArrayList, declare and initialize, and access elements with get by index.
Learn how Java treats strings as objects and use methods like equals, split, and trim to manipulate text; understand return values and that strings are immutable.
Learn how to analyze text with Perl, generate and format reports, and email them, using Unix/Linux experience to build practical data-reporting skills and a portfolio-ready final project.
Learn to install a Perl environment on Windows and Mac OS X, write your first hello Perl program, and explore basic and advanced Perl examples for real-world use.
Learn to download and install the Perl environment on Windows using Strawberry Perl, verify the setup with which perl and what is perl, and explore the editor and shell.
Create your first Perl program, include the shebang line, use print and user input to greet the user, save as script.pl, and run to see output.
Explore advanced Perl file handling by reading and writing text files using open, file handles, and chomp, then append data and produce neatly formatted reports.
Learn how scalar data in Perl represents single values, including numbers and strings, and perform operations like addition, subtraction, multiplication, and division with scalar variables.
Learn how strings are defined with single or double quotes, use escape characters for newline and tab, escape quotes inside strings, and concatenate strings with the dot operator.
Explore floating point numbers in Perl, using decimal, exponential notation, and base literals (octal, hex, binary). Perform arithmetic with operators, modulus, and the power operator.
Learn how Perl variables store values in memory using a leading dollar sign and identifiers. See how double-quoted strings interpolate variables, print results, and perform simple arithmetic.
Learn to read a line of input in Perl with the line input operator (STDIN), store it in a variable, and remove newline with chomp; loop until 0 is entered.
Learn how the chomp operator in perl removes trailing newline characters from strings, with hands-on examples showing formatted output and cleaner string processing.
Explore decision making with if else statements, using numeric and string comparisons, ASCII character order, and if, else if, and else control structures to drive program flow.
Learn how while loops repeat a block of code as long as a condition is true, with the condition evaluated before each iteration.
Become a professional programmer: working with arrays and lists introduces creating arrays, accessing by indices, assigning with lists, converting arrays to strings, and using for each loop with arrays.
Learn to create arrays in Perl by declaring an array variable with the at symbol, assigning mixed strings and numbers, and printing with proper formatting.
Discover how to access array elements in Perl using zero-based indices, scalar values, and bracket notation to retrieve specific elements like the first and last entries.
Convert an array into a string using the join operator (join function) by supplying a separator and the array, producing a string with values separated by a delimiter.
Learn to use the for each loop, a control structure, to iterate over arrays and lists, repeating a block of code for each element and printing every value.
Learn to define and call subroutines, handle return values and arguments, use variable-length parameters, apply the return operator, and explore private variables in this introduction.
Master using a variable length parameter list with subroutines in Perl by passing any number of values, accessing them via the special array @_ and printing each element.
Learn how the return operator immediately returns a value from a Perl subroutine, stopping further code execution, with an example that searches names and returns the matching entry.
Define private variables within a subroutine using the my operator, keep x and y private to the subroutine scope, and demonstrate access only inside the subroutine.
Explore Perl input and output basics, including standard input, the diamond operator, standard output, printf formatting, file handles, and die with friendly error messages.
Learn to read input from standard input using the line operator, store it in a scalar variable, and remove the newline with chomp, then perform simple arithmetic and print results.
Use the diamond operator to read text files passed as invocation arguments in Perl. Loop through each line and print it, using the input source specified by file arguments.
Learn how the print statement sends multiple values to standard output, using strings, numbers, interpolation, escape sequences, and array printing to format terminal output.
Learn to work with Perl file handles by using the open operator to read, write, or append text files, with while loops and proper closing.
Learn to handle fatal errors in Perl using the die function to print friendly messages and exit with a non zero code, including $! diagnostic details.
Define hashes as key-value data structures with string keys, and demonstrate creating, updating, and printing values with for each loops and the values operator.
Explore regular expressions by matching strings against patterns, using forward slashes and if statements to print match found or match not found, including word and space metacharacters.
Master the m pattern match operator in Perl using different delimiters, including slashes, percent symbols, and braces. Learn to anchor patterns to string starts and test matches in code.
Explore match modifiers in Perl patterns, mastering the case-insensitive i and global g modifiers with the substitution operator to replace all victors with JVM across strings.
Review regular expressions through simple patterns, character classes, and pattern matching. Apply modifiers like global and case-insensitive, and use binding operators and match variables for control structures.
Explore more on regular expressions, including substitutions with the s operator, the split operator, and joining values with the join function in list context matching.
Learn how the substitution operator searches a string for a pattern and replaces it with a new pattern in Perl. Apply the global and case-insensitive modifiers to replace all matches.
Learn to use the join function to glue an array of values into a single string with a chosen separator, such as spaces, commas, or semicolons.
Master substitutions with the s operator, split strings by a delimiter into arrays, join arrays with a separator, and grep for matching in list context.
Save and reload names for the Joe's Bar and Grill guest list using a local text file, overwriting data and appending new names on separate lines before closing the file.
Become a professional programmer by embracing programming with enthusiasm and enjoying it. Stay excited to learn, ask questions, and explore future courses in this rewarding field that offers money.
Explore the basics of C++ development by using preprocessor directives and include headers, writing a main function, printing with cout, ending lines with endl, and understanding namespace std.
Explore C++ data types, including char and ASCII values, int variants like short and long long, floats, bools, and strings, with notes on limits and overflow.
Master arithmetic in c++, covering addition, subtraction, multiplication, division, and modulus, using integers; learn about truncation, integer division, and when to switch to floating point for decimals.
Learn how integer division truncates and how modulus returns the remainder in C++, then use proper data types, preprocessor directives for pi, and comments to compute a circle's area.
Learn how to input values into multiple variables in C++ using cin, including int, float, and char. Explore operator precedence, associativity, and using pow for exponents.
Explore type conversion, promotion and demotion when mixing data types, seven basic types and their rank in C++, and how overflow, underflow, and type casting affect combined and multiple assignments.
Explore the cmath library in c++, learn to use absolute value, trigonometric functions, exponentials, logarithms, and square roots, and generate pseudo random numbers with rand, srand, and time.
Explore logical operators in C++—and, or, not—through relational comparisons, parentheses for precedence, and how left-to-right evaluation affects if statements.
Explore conditional operators and switch statements in c++, including the ternary-like conditional, case blocks, and default handling. Understand break, scope, and variable declarations within if and switch blocks.
Explore the fundamentals of while loops in C++ by learning increment and decrement operators, postfix and prefix forms, and practical patterns for infinite loops, input validation, and counting with counters.
Master do-while, while, and for loops in C++ with practical examples of a running total, sets, and nested loops, highlighting initialization, condition, and iteration concepts.
Explore python and the web in a fast-paced crash course, from basics to building a web site with flask, accessing the internet, databases, and web servers.
Learn the fundamentals of object oriented programming and how modules you interact with are built with this paradigm, with a brief overview tailored for Python for the web tutorials.
Explore object oriented programming with Python basics, learning to define classes, create objects, use methods, and understand inheritance and the init method to build dynamic programs.
Learn to use and install Python modules with pip, navigate path issues, and understand open-source licensing and wheel file options.
Discover how Python modules work, locate standard library and site-packages modules, and master import methods—import, from, alias, and wildcard—while avoiding naming conflicts.
Master object oriented programming basics to interact with modules and understand namespaces. Learn how to download and use modules as a foundation before databases in the next tutorial.
Learn the basics of databases with sqlite, exploring why we store web data for long-term analysis and how databases outperform text files, with mysql coming later.
Explore Eskew light, a lightweight SQLite database, and understand how databases organize data into tables with rows and columns, data types, and basic operations like insert, select, update, and delete.
learn how to insert data into a table using insert into and values, after establishing a connection, with Python 2.7 beginner records and later 3.3 to 3.4 intermediate updates.
Learn to read data from a database by executing a select all from example, iterating rows, printing each row’s first column, and using where clauses with input prompts and limits.
Master the basics of sqlite: create databases, perform insert read update and delete operations, and compare sqlite with mysql for local testing, production, and web scraping.
Learn to build a Google search URL with urllib by encoding query parameters from a dict and handling spaces, UTF-8 encoding, and the get versus post distinction.
Learn how Python's urllib module enables internet access, build requests, and adjust headers, while BeautifulSoup parses HTML and XML-like documents, and note API use and servers.
Explore how HTML pages are structured and how to parse or scrape data by recognizing common tags, especially paragraph tags, to extract text.
Explore the basics of HTML structure, including HTML, head, and title tags, how to open and close them, and save files as HTML in Notepad Plus Plus.
Explore the head element, meta tags and their limited seo role, including meta descriptions, and learn how to link css stylesheets with rel and href, plus path types and https.
Explore how to structure web pages with header and nav tags, build a navigation bar with links like home, tutorials, and languages, and understand how headers aid search engine indexing.
Learn to use HTML comments to document code and structure headers, footers, and divs. Explore the style sheet role and the style attribute in organizing content with divs.
Explore the HTML structure, including head, header, body, footer, divs, and paragraph tags, then parse data with Beautiful Soup, and note styling with style sheets and Twitter Bootstrap.
Master interacting with a virtual private server (vps), log in securely via SSH, set up a client like PuTTY on Windows, and manage Python tools and packages on your server.
Move files to and from a server using FileZilla with ftp or sftp, connect via host and credentials, navigate directories, edit with nano, and run Python scripts.
Learn how to transfer files to and from a server using Python with PySFTP, install three modules in order, and implement push and pull functions for secure SFTP transfers.
Connect to the database, create a leaks table for time and link, and insert rss feed items with a python script using beautiful soup and requests.
Learn to prevent duplicate rss links by parsing and checking the database before inserting with Python and MySQL, using select, fetchone, and fetchall to ensure unique entries.
Learn how to run a Python script on a server 24/7 using nohup, placing it in the background with an ampersand, and monitor that process with top while managing disconnects.
Set up a Flask web app on Apache with mod_wsgi, create static and templates directories, and run a simple hello world page accessible via IP address.
Configure a Flask app behind Apache using a WSGI file, set static and directory permissions, configure logging, and restart the service to run and test a hello world page.
Explore jinja templating in python with flask for web development, passing variables with render_template and using for loops and if statements to render dynamic content.
Extend your Flask app by adding new pages to the navigation, linking them via a Bootstrap nav bar, and using template extends to retain a shared layout.
Develop Python for the web by using Flask, object oriented programming, and modules; scrape RSS feeds with Beautiful Soup and manage a MySQL database on a server with cron tabs.
I outline the installation requirements for Rails on Windows and macOS, detailing Ruby, Sublime Text, RubyGems, Rails, Xcode and command line tools, Homebrew, and rvm setup.
Install rails on windows using the rails installer, set up ruby, Sublime Text, and Bash, install ruby gems, create your first app, and run the rails server.
Learn to use Sublime Text as your editing and navigation hub for Ruby projects, featuring a code preview, folder view, and Rails command generation.
Explore sqlite studio, a visual database manager for sqlite used with ruby on rails, to connect to a database, view tables and columns, and manage data with commits and refreshes.
Begin building a Rails app by generating a project, creating an about page, and wiring routes, controllers, and views. Seed a post model and render database-driven posts on a page.
Explore how NBC architecture fits with Rails and how convention over configuration shapes file naming and structure, models, controllers, views, routes, scaffolds, and bootstrap integration.
Explore rails documentation through the rails guides, the api, and michael harto's rails tutorial to learn about models, views, controllers, and active record.
Create a new Rails app, install gems, and start the server to develop locally. Generate an about controller and view, add routes, and serve the page by convention.
Create a post model in Rails, define post_text and post_author fields, generate a migration, run db migrate, and inspect the posts table with Active Record and timestamps.
Learn to create a post controller with plural naming, generate associated views, implement index and show methods, and understand snake case versus camel case and routing behavior.
Discover how to create partial views for code reuse and dry principle in Ruby on Rails. Render embedded Ruby in partials across pages and organize them with underscores and layouts.
Review rails routing by inspecting the routes file in config, understand RESTful controllers, and map actions like welcome and about to paths via aliases and root routes.
Explore dynamic data handling in Rails by using instance variables across controllers and views. Create dynamic page titles with provide and yield in the application layout to reduce duplication.
Learn how to use Rails resources to manage posts—new, create, routing, forms submission, strong parameters, and the seven restful actions (index, show, new, create, edit, update, destroy).
Discover Bootstrap basics, including using a CDN, the 12-column grid, and common components like the jumbotron, navigation, and footer, wrapped in a container for responsive layouts.
Explore integrating bootstrap in a Rails app using the bootstrap-sass genome, configure assets with sass preprocessing, and verify by running the server.
Explore the Rails mvc architecture, including models, controllers, and views, and how data flows from controller to view. Create reusable partials, use scaffolds for crud, and integrate Bootstrap.
Explore how to work with databases in Rails, configure sqlite with database.yml, manage records, commits, and simple queries in sqlite studio to retrieve and modify data.
Interact with the rails console to manipulate the database using the post model and active record. Create, find, update, and destroy posts, then save changes to the database.
learn how migrations map model properties to database columns via a two-step Rails process, generating a migration script and running the migrate command to create tables with timestamps.
learn to seed the database with a seeds file, inserting, updating, and deleting data via a simple create syntax on a csv dataset for quick test records.
attach an existing table, use migration scripts, and configure a small database file for different environments; seed with dummy data and retrieve records by ID from the URL.
Learn to build a database-driven site by integrating Bootstrap into a Rails app, create product views and controllers, and display products in a dynamic three-column grid using modulo.
Learn to build a Ruby on Rails app with bootstrap integration, scaffolding a products model, and migrating the database. It covers layouts, navigation, containers, and rendering a responsive product grid.
Master the Rails workflow by creating apps with models, controllers, views, and routes; leverage migrations, seeds, and rake tasks, and integrate Bootstrap for a complete web project.
If you’re looking at this page, you’ve probably had ‘learn how to code’ at the top of your to-do list forever. Coding is the future, and the technology industry is crying out for good programmers fluent in a range of languages. With that in mind, we’ve created this bundle for people just like you. Whether you’re a complete newcomer to programming or you already have some experience but want to expand your knowledge, this bundle will set you up for a career as a professional programmer/.
With access for life, you can learn at your own pace and complete lessons according to your own schedule. Whether you take your time or power through at breakneck speed, you can rest assured you’re learning everything you need to know.
This bundle includes the following courses: