This commit is contained in:
David Beazley
2020-05-29 04:24:42 -05:00
parent d43f615a2a
commit 745fa916fe

View File

@@ -12,12 +12,15 @@ to make it freely available under a Creative Commons license. Enjoy!
--David Beazley ([https://dabeaz.com](https://dabeaz.com)), [@dabeaz](https://twitter.com/dabeaz) --David Beazley ([https://dabeaz.com](https://dabeaz.com)), [@dabeaz](https://twitter.com/dabeaz)
## Prerequisites and Target Audience ## What is This?
The material you see here is the heart of an instructor-led Python The material you see here is the heart of an instructor-led Python
training course. It is typically taught in-person over the span of training course used for corporate training and professional
three or four days--requiring approximately 25-35 hours of work. This development. It is usually taught in-person over the span of three or
includes the completion of approximately 130 hands-on coding exercises. four days--requiring approximately 25-35 hours of work. This includes
the completion of approximately 130 hands-on coding exercises.
## Target Audience
The target audience is scientists, engineers, and programmers who The target audience is scientists, engineers, and programmers who
already have experience in at least one other programming language. No already have experience in at least one other programming language. No
@@ -26,16 +29,13 @@ programming topics is assumed. Most participants find the course
challenging--even if they've already been doing a bit of Python challenging--even if they've already been doing a bit of Python
programming. programming.
## Course Objectives
The goal of this course is to cover foundational aspects of Python The goal of this course is to cover foundational aspects of Python
programming with an emphasis on script writing, data manipulation, and programming with an emphasis on script writing, data manipulation, and
program organization. The course does NOT focus on Python tooling, program organization.
IDEs, or third-party packages (i.e., it's not focused on using data
science libraries, Jupyter Notebooks, or on how to deploy an app to ## Requirements
the cloud). It IS a course that aims to cover fundamental ideas about
how Python programs work and how they are organized. Students WILL
have to write scripts, functions and classes, work with code spread
across multiple source files, deal with modules, and solve various
problems related to refactoring.
To complete this course, you need nothing more than a basic To complete this course, you need nothing more than a basic
installation of Python 3.6 or newer and time to work on it--especially installation of Python 3.6 or newer and time to work on it--especially
@@ -45,30 +45,16 @@ the latter.
This is not a course for absolute beginners on how to program a This is not a course for absolute beginners on how to program a
computer. It is assumed that you already have programming experience computer. It is assumed that you already have programming experience
in some other programming language or Python itself. You're not in some other programming language or Python itself.
going to find cute stories about looping--or why you would want to do it.
This is not a course that aims to cover absolutely everything there is to know
about Python. There is only so much material you can cover in 3-4 days
before heads start to explode. If you're working through the course
and wondering "why wasn't X covered?" there's probably a good
reason--it was once included and it made everyone's head explode.
Either that or there simply wasn't enough time to cover it.
This is not a course that aims to cover reference material, tricks, or
recipes that you could just look up on
[python.org](https://python.org), Google, or Stack Overflow. Yes,
there is enough reference material given to be functional, but the
course is more focused on how to work with and think about Python
coding.
This is not a course for software engineers on how to write or This is not a course for software engineers on how to write or
maintain a one-million line Python program. I don't write programs maintain a one-million line Python program. I don't write programs
like that and neither should you. Delete something already! like that, nor do most companies who use Python, and neither should
Python is a great language for personal productivity, prototyping ideas, you. Delete something already! Python is a great language for
and hacking cool things together. The course is about doing THAT in personal productivity, prototyping ideas, and getting work done. The
a way that's both practical and not so "hacky" that your co-workers course is about doing THAT in a way that's practical, accessible, and
give you stink-eye when they look at your code. not so "hacky" that your co-workers give you stink-eye when they look
at your code.
## Take me to the Course Already! ## Take me to the Course Already!