The Introduction to Programming training course is designed to teach students the art of computer programming. This course targets students who have either never written a computer program, or those who learned to program long ago and are not daily programmers. The course will be taught in Python, a language which is easy to get started with, yet powerful enough that students will likely continue to use it on a regular basis.
The course begins with a brief look at the basics of computer architecture, offering students a high-level understanding of the concepts and terminology of a computer enabling them to understand what’s going on “under the hood.” The course then goes on to explain programs, algorithms, errors, debugging, and the processes necessary for a programmer to take a problem statement and turn it into working code which will solve real-world problems.
An optional third day will consist primarily of additional programming exercises and challenges, one-on-one help, and additional material which will further students’ knowledge of programming.
- Understand programming terminology (e.g., variables, keywords, statements, conditionals, expressions, loops, functions, algorithms, debugging, etc.)
- Transform a problem statement into an actionable mental model
- Write Python code to solve real-world problems
- Understand/debug Python programs at a beginner level
- Transition to other programming languages/courses
What You'll Learn
In the Introduction to Programming training course you’ll learn:
- The basics of computer architecture
- bits, bytes, binary
- RAM, CPU, hard drives
- What is computer programming?
- What are programs, algorithms, pseudocode
- What is debugging?
- Interpreted languages (e.g., Python/Java/bash)
- …vs. compiled languages
- Source code vs. object code
- Syntax vs. semantic vs. run-time errors
- Introducing Python
- Hands-on with the Python interpreter
- The print() function
- Writing our first program
- The art of programming
- Mental models
- Handling errors
- Converting a problem into code
- Debugging strategies
- Data, variables, and expressions
- Values and simple data types (int, float, string)
- Variables names and keywords
- Evaluating expressions
- Operators and Operands
- Boolean expressions/logical operators
- Type conversion functions
- String operations
- Chained conditionals
- Nested conditionals
- The for statement
- The range() operator
- The while statement
- The break/continue statements
- The else clause
- Middle-test loops (“one and a half loops”)
- Post-test loops
- Nested loops
- Advanced data types/operation
- Lists (vs. arrays)
- The return statement
- Void functions and None
- Boolean functions
- Functions can call other functions
- What are they?
- Random numbers
- The math module
- The time module
- Wrapping up
- What have we learned?
- How can we apply it to larger problems?
- Where do we go from here?
Meet Your Instructor
Daniel has been a self-employed developer, teacher and speaker for private businesses, education and government entities since 1999. Daniel also actively teaches programming for the University of New Mexico Continuing Education.
Daniel is a Pomodoro Technique practitioner, and co-founder of the Albuquerque Java User’s Group in Albuquerque, New Mexico. When he’s not supporting other local Java developers, Daniel spends most of his waking hours developing in and around the Java ecosystem, encompassing...Eric
Eric is a professional trainer and software developer who loves learning new things, sharing what he learns, and helping clients to solve business problems. He holds a BS in Computer Science from the Virginia Military Institute, and numerous software certifications to include the Microsoft Certified Professional Developer certification.Eric has extensive experience providing customized training and software development services for companies around the world for almost 18 years. He provides those services both on-...Dave
Dave received a B.S. and an M.S. in Computer Science from the University of California at Santa Barbara, after which he taught in their computer science department for 3 years. He then moved to Colorado to pursue a Ph.D. in Cognitive Psychology. His work experience includes 20+ years in industry and research institutions, including almost 10 years at Tech-X Corporation.
In addition to teaching at the university level, Dave taught for the Navy for 10 years, and at New Vista High School in Boulder.