Intro to Python Programming
I. Course and Instructor Information
Steven is a Senior Software Engineer at Steele Consulting, Inc. and a volunteer high school instructor for Microsoft TEALS. He has 20 years of experience in software development and has acted as a mentor for dozens of interns and students in the El Paso area.
Joseph Richard Bernal
Joseph has over 8 years of experience in college-level instruction. He holds a B.A. in both psychology and philosophy, as well as a Master’s in Philosophy of Science. He is currently a semester away from completing an Associate’s of Applied Science in the area of Information Technology Systems.
Main Location/Online Portal: Microsoft Teams
Class Times: Tuesday & Thursday, 6:00 – 8:00 PM
Response Time: Please allow 48 hours to email responses
II. Course Description
The course introduces general programming concepts via the python programming language. The course will focus on general programming concepts. The course is designed in preparation for the completion of Microsoft’s Certification Exam 98-381: Introduction to Programming using Python.
III. Course Objectives
Upon satisfactory completion of this course, the participant will be able to define and demonstrate various Python programming concepts, including the following:
- Unit I. Environment Setup, Data Types, Operators, Typecasting
- Evaluate an expression to identify the data type Python will assign to each variable.
- Identify str, int, float, and bool data types.
- Convert from one data type to another type
- Unit II Strings and Operators
- Determine the sequence of execution based on operator precedence assignment; comparison; logical; arithmetic; identity (is); containment (in)
- Select the appropriate operator to achieve the intended result
- Unit III Decisions and Logic
- Construct and analyze code segments that use branching statements such as: if; elif; else; nested and compound conditional expressions
- Unit IV Collections, Slicing, and Loops
- Construct and analyze code segments that perform iteration such as: while; for; break; continue; pass; nested loops and loops that include compound conditional
- Perform indexing and slicing operations.
- Unit V Functions, Error Handling
- Analyze, detect, and fix code segments that have errors such as: syntax errors; logic errors; runtime errors
- Analyze and construct code segments that handle exceptions such as: try; except; else; finally; raise
Unit VI Reading Files, Saving Data
- Demonstrate how to read and write files in Python.
- Apply multiple methods for input/output from file reader/writer
- Use loops to process files
- Unit VIII Built-In Modules
- Perform basic operations using built-in modules for example: math; datetime; io; sys; os; os.path; random.
- Solve complex computing problems by using built-in modules using: math; datetime; random.
- Unit IX Software Development
- Bring together all concepts learned into a single application
- Demonstrate ability to read data file, iterate through and correct records, provide calculations from values and safely handle errors where they occur
- Unit X Documentation with PyDoc
- Understand documentation formats generated by PyDoc
- Generate documentation for self-developed application using PyDoc
IV. Online Preparation
Since this is a 10-week course, you should expect to spend 4 hours per week in this course.
V. Required Technical Skills
- Be able to obtain access to an internet connection, preferably broadband, and a working computer for the duration of this course.
- Be able to send and receive emails and email attachments in and out of class.
VI. Technology Requirements
- Computer Hardware & Software
- Microsoft Teams
- Access to a desktop computer or laptop with internet access, sound, and speakers.
- Adobe Reader (for reading PDF files).
- Headset with microphone.
- Web Browsers
- Use only the latest version of Google Chrome, Mozilla Firefox Safari, or Microsoft Edge:
- We cannot promise full support for mobile devices.
VII. Classroom Management
Participants should be ready to participate and engage with their fellow peers and the instructors. Participation will be assisted by the student’s willingness to engage with the class. The purpose of class engagement is to learn from each other. Coming to class motivated and with prepared questions will contribute to assessing the student’s overall level of engagement in the course.
Online course expectations for netiquette are:
- Don’t flame (personally attack) someone. It is possible to disagree with an idea without flaming the person espousing the idea.
- Use emoticons and acronyms to convey your emotional intent in order to avoid misunderstandings.
- Remember that the concept of “politeness” is culturally defined. What is considered polite communication in one family or culture may be impolite in another. Sometimes you may inadvertently seem impolite or feel that someone else was being impolite. Talk it out instead of assuming the person meant to be rude.
- Listen actively.
- Think critically. Critical thinking, grounded in intellectual integrity, is expected. In other words, seek clarity of meaning and understanding.
- Question ideas, not people.
- Attempt to see things from other perspectives.
- Use supporting relevant information.
VIII. Course Materials, Resources
Free, online development environment for Python. An individual account is required; an invite to the coding team will be provided in class.
IX. Fab Lab Course Policies
- Participants Responsibilities’:
- Attendance is required for the successful completion of the course. Participants with 3 absences may be withdrawn from the course.
- Participation will be determined based upon the description under section VII Classroom Management Part A.
FabLab of El Paso, in compliance with applicable laws and in furtherance of its commitment to fostering an environment that welcomes and embraces diversity, does not discriminate on the basis of age, ancestry, color, disability, gender identity, genetic information, national origin, race, religion, retaliation, serious medical condition, sex (including pregnancy),sexual orientation, spousal affiliation, or protected veteran status in its programs and activities, including employment, admissions, and educational programs and activities.
As well any action which violates the Violence Against Women Act (VAWA) prohibits stalking, date violence, sexual violence, and domestic violence for all students, employees and visitors (male and female). If you have any concerns related to discrimination, harassment, or assault (of any type).
Inquiries may be directed to:
Fab Lab El Paso
601 N. Oregon St. Suite 2
Tel: (915) 209-2656
Fax: (915) 288-2688
- Instructor Contact Policy:
When emailing the instructor use the following as general guidelines as we exchange information in this class.
- DO NOT use chat style abbreviations.
- Use correct English grammar (e.g. capitalize the pronoun I, put in apostrophes as in don’t) and check your spelling. Get in the habit of running the spell checker before ever sending an email or printing a document.
- Don’t use a ‘reply’ of a previous email if the subject matter has changed. Create a new email with an appropriate subject line. Many people use Reply so they don’t have to look up a person’s email address. This is fine except change the ‘Subject’ line and delete all text from the previous email.
Be as descriptive as possible in the subject line to identify what the email references. If an email is about Project 4 that is in Word, don’t type ‘Project’ but perhaps ‘Word – Project 4’. You may use commonly accepted abbreviations. ‘Proj’ is acceptable for Project but not ‘P’ or ‘PR’.
X. Provisional Course Outline
|1||Data Types, Operators, and Typecasting|
|2||Strings and String Operators|
|3||Boolean Logic and Control statements (if-else)|
|4||Collections, Loops, and Slices|
|5||Error Handling (try-except)|
|6||Text/Data Files (reading from, writing to)|
|7||Built-In Modules, Topic Review|
|8||Software Development Project|
|9||Documentation and PyDoc|
|10||Course Review and Test Prep|