Find online courses made by experts from around the world.
Take your courses with you and learn anywhere, anytime.
Learn and practice real-world skills and achieve your goals.
This is Pythonic Python - Part I of a complete Python course for programmers, in four parts.
The focus, besides learning Python, is learning Pythonic idioms so that your code is beautiful, easy to read and modify, and fast-running.
Part I - The Python Basics
Make yourself useful.
Part II The Buzz
Heavy-hitting, time-saving, fun facilities.
Part III Pythonic OOP
So brilliant, you might need shades.
Part IV The Expert
Know it all.
Not for you? No problem.
30 day money back guarantee.
Learn on the go.
Desktop, iOS and Android.
Certificate of completion.
Welcome! And suggestions for making the best use of this course.
The Supplementary Material here is the pdf for all 14 labs, and all the code.
|Section 1: Birds Eye View|
A bird's eye view of code to see the structure, the memory model, and get started in your environment.
Lab 1 Solutions
|Section 2: Branching and Looping|
Flow-of-control syntax in Python.
Lab 2 Solutions
|Section 3: Input and Exceptions|
|Work with your user and deal with errors the user makes.|
Lab 3 Solutions
|Section 4: Formatting Strings|
Replacement into string via the % operator -- Python style, and a discussion of the integer-division-issue.
Lab 4 Solutions
|Section 5: Functions|
First look at function protocols.
Lab 5 Solutions
|Section 6: Imports|
Use any of the thousands of libraries and packages available for Python, and start loving introspection.
Lab 6 Solutions
|Section 7: Attribute Scope|
|Surprising generosity of scoping for global identifiers.|
Lab 7 Solutions
|Section 8: Flexible Functions|
|Get more flexibility with default and keyword arguments.|
Lab 8 Solution
|Section 9: Sequence Slicing|
Fun facility for extracting pieces of a sequence. Note that there is an experiential exercise that doesn't not need a solution here.
|Section 10: Sequence Accumulating|
|+= on sequences, a very useful technique.|
Lab 10 Solutions
|Section 11: Sequence Differences|
|Why three sequence types? String manipulation.|
Lab 11 Solutions
|Section 12: List Facilities|
|The list: a powerful data-handler.|
Lab 12 Solutions
|Section 13: Sequences and Mutability|
A deeper understanding of mutability.
The exercises are experiential, so there is no video for the solutions.
|Section 14: SYS Library|
|Reading the command line, and direct access to stdout, stderr, and stdin.|
Lab 14 Solutions
|Section 15: Wrap Up: Pythonic Python Part I: The Basics|
|Thank you for being with me. I hope you had fun learning the basic facilities and I look forward to seeing you in Part I: The Buzz.|
Marilyn is a well-regarded Python Trainer for the Industry, and a well-loved Python Instructor for UCSC-Extension in the Silicon Valley. Her history shows her to be an accomplished software engineer as well, demonstrating a knack for finding simple solutions to complex problems, articulating clear explanations, and engendering cooperation.
Dr. Davis earned her degree from UCSD in Theoretical Radio Astronomy. In the course of that work, her interest shifted to Software Engineering. She has worked with many different computer languages, and has made software for Computer-Aided Instruction, Astronomy, Statistics, Environmental Research, Operations Research, Email Service, and Electronic Democracy.
Marilyn was an early contributor to the Open Source movement, authoring eVote/Clerk, software for consensus-building and decision-making on the network. Her PC Planetarium was sold by the Sierra Club Catalogue. Her early work in editing radio astronomy data is still in use today. Her program Basic Primer was a pioneering work in Computer-Aided Instruction and was published by IBM.
Motivated by a love for teaching, she has taught Mathematics and Physics, as well as Software Engineering. She taught C at UCSC-Extension for 14 years before she encountered Python. Python has been her focus since her first sight of Python code. She has been teaching and using Python since 2006.