Intro to Python Programming
Fall 2021

I. Course and Instructor Information
Instructor: Anindita Nath, Teaching Assistant: Elena Valenzuela
Main Location/Online Portal: Microsoft Teams
Class Times: Mondays & Wednesdays, 6:30 – 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.
Class | Topic |
1 | Python introduction, Environment set up, Data Types and Operators |
2 | Working with Textual Data (strings, comments) |
3 | Working with Numeric Data (ints and floats) |
4 | Lists, Tuples, and Sets |
5 | Dictionaries (key-value pairs) |
6 | Conditionals and Booleans |
7 | For/While Loops |
8 | Functions |
9 | Import Modules (math, datetime, random) |
10 | Import Modules Continued (sys, os, re ) |
11 | Reading and Writing to Files |
12 | Exception handling |
13 | Version Control (Git) |
14 | Python Gui (PySimpleGui) |
15 | Micro-internship Development Project 1 |
16 | Micro-internship Development Project 1 |
17 | Micro-internship Development Project 2 |
18 | Micro-internship Development Project 2 |
19 | Review |
20 | Review |
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:
- 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
- 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
- Decisions and Logic
- Construct and analyze code segments that use branching statements such as: if; elif; else; nested and compound conditional expressions
- 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.
- 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
- 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
- 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.
- 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
- 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
- Participation
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.
2. Netiquette
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
Software:
To be determined
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.
- Discrimination
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:
Cathy Chen, cchen@fablabelpaso.org or 915.209.2656
- 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’.