Skip to main content

Programming: Beyond the Basics

11h 14m 57s
English
Paid

Course description

There are countless ways to write any program. This course is designed so that you have all the tools necessary for fully expressing your ideas through code, including functional composition and recursion, object-oriented programming, and basic knowledge of parallelism.

If you are already familiar with the concepts discussed above, you can choose interesting tasks or move on to studying computer systems.

I also use this course to share my programming philosophy and my preferences in the approach to programming. I do not claim to have the final opinion on these matters, as there is no single correct way. Nevertheless, others have found my thoughts useful, and perhaps you will too.

The backbone of this course is a sequence of tasks for each topic. You should strive to solve each task, using ready-made solutions and additional explanations if necessary.

As additional material, I recommend "Composing Programs" by John DeNero or the classic textbook SICP, on which it is based, be it in the original version in Scheme or the newer version in JavaScript. For a more playful, task-oriented approach, I also recommend "The Little Schemer," especially on the topics of higher-order functions and recursion.

Primarily, I will be using Python as the main language, but you can work in another language if you prefer. Languages that do not support higher-order functions and/or classes may pose difficulties in adapting some tasks.

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 17 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: 001 Luhn algorithm

All Course Lessons (17)

#Lesson TitleDurationAccess
1
001 Luhn algorithm Demo
01:13:12
2
002 Tic-tac-toe
58:30
3
003 A quick tour of iterators in Python
16:43
4
004 Reduce everything
39:54
5
005 Memoize
27:45
6
006 Basic recursion
49:05
7
007 Pretty print
22:41
8
008 Trampoline
35:35
9
009 Refactor life
01:23:51
10
010 Vector class
55:58
11
011 DIY objects
26:27
12
012 DIY basic inheritance
25:00
13
013 Bytecode interpreter
45:32
14
014 The two most common mistakes I see in data modeling
27:04
15
015 A complete beginners guide to deploying web applications
25:04
16
016 The only software development methodology I recommend cut
27:34
17
017 Looking inside the Python interpreter
35:02

Unlock unlimited learning

Get instant access to all 16 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Parsing Algorithms

Parsing Algorithms

Sources: udemy, Dmitry Soshnikov
Parsing or syntactic analysis is one of the first stages in designing and implementing a compiler. A well-designed syntax of your programming language is a big
4 hours 27 minutes 33 seconds
Enhanced Freelancing with AI

Enhanced Freelancing with AI

Sources: zerotomastery.io
Learn to leverage AI to optimize your freelancing profile for visibility, craft personalized and persuasive proposals, and manage projects more efficiently.
46 minutes 29 seconds
Super Study Guide: Transformers & Large Language Models

Super Study Guide: Transformers & Large Language Models

Sources: Shervine Amidi, Afshine Amidi
The book "Super Study Guide: Transformers & Large Language Models" is a concise and visual guide for those who want to understand the structure of large...
AI Engineering Bootcamp: RAG (Retrieval Augmented Generation) for LLMs

AI Engineering Bootcamp: RAG (Retrieval Augmented Generation) for LLMs

Sources: zerotomastery.io
This course will teach you how to create smarter AI applications using one of the most important techniques in modern artificial intelligence - Retrieval...
22 hours 1 minute 6 seconds
Start with TALL: Use Tailwind, Alpine, Laravel & Livewire

Start with TALL: Use Tailwind, Alpine, Laravel & Livewire

Sources: udemy
Get ahead of the competition and start with the TALL stack, made up of Tailwind CSS, Alpine.js, Livewire, and Laravel that will completely dominate the world of
4 hours 17 minutes 21 seconds