Programming Foundations: Beyond the Fundamentals
2h 5mBeginner2020-03-31
Authors

Sasha Vodnik
Principal Technical Course Developer at DocuSign
Course details
Continue your coding journey as you dive deeper into the foundational concepts, practices, and terminology of programming. In this installment of the Programming Foundations series, instructor Sasha Vodnik goes beyond the basics, using Python to tackle a variety of intermediate and advanced concepts and skills you can add to your programming repertoire. Sasha covers creating and working with collections and loops, combining and manipulating strings, and using external code—all of which are critical concepts, regardless of which programming language you end up working with. He goes over several essential processes, such as choosing a code style and debugging. Plus, he digs into a few more advanced concepts, including memory management and multithreading.
Skills covered
Programming FoundationsPythonFoundationsOpen SourceSoftware Development
Concepts
0. Introduction
- 01 - Broadening your knowledge of programming fundamentals
- 02 - What you should know
- 03 - Configuring your environment
1. Collections
- 04 - Understanding collections
- 05 - Creating simple collections
- 06 - Creating more complex collections
- 07 - Working with collections
- 08 - Collections in other languages
- 09 - Challenge - Working with a collection
- 10 - Solution - Working with a collection
2. Iteration
- 11 - Introduction to iteration
- 12 - Iterating through collections
- 13 - Iterating to a custom endpoint
- 14 - Challenge - Creating a for loop
- 15 - Solution - Creating a for loop
3. Using External Code
- 16 - Comparing types of external code
- 17 - Working with a module
- 18 - Understanding libraries and frameworks
4. Working with Strings
- 19 - Combining and manipulating strings
- 20 - Finding patterns in strings
- 21 - Creating regular expressions
- 22 - Challenge - Strings
- 23 - Solution - Strings
5. Planning a Program
- 24 - Choosing a code style
- 25 - Writing pseudocode
6. Input and Output
- 26 - Introduction to input and output
- 27 - Working with file input and output
7. Debugging
- 28 - Introduction to debugging
- 29 - Debugging code in an IDE
- 30 - Interpreting error messages
- 31 - Debugging without error messages
- 32 - Creating a test case
- 33 - Challenge - Debugging
- 34 - Solution - Debugging
8. Object Orientation
- 35 - Introduction to object-oriented programming
- 36 - Using built-in classes
- 37 - Creating custom classes and objects
9. Advanced Topics
- 38 - Advanced topics in programming
- 39 - Memory management across languages
- 40 - Introduction to multithreading
- 41 - Introduction to algorithms
Conclusion
- 42 - Continuing your programming quest