Difference between revisions of "OPS435 Python Weekly Schedule 2019 Summer"
(5 intermediate revisions by 2 users not shown) | |||
Line 4: | Line 4: | ||
|width="45%"| | |width="45%"| | ||
'''Instructors:''' | '''Instructors:''' | ||
− | *'''Raymond Chan ''' | + | *'''Section A, B, C, and D: Raymond Chan ''' |
| | | | ||
'''Note:''' Each OPS435 section may have a different due dates for labs, tests and assignments.<br>This schedule is considered to be a general guideline for week-by-week content. | '''Note:''' Each OPS435 section may have a different due dates for labs, tests and assignments.<br>This schedule is considered to be a general guideline for week-by-week content. | ||
+ | |} | ||
+ | |||
+ | {| class="wikitable" cellspacing="0" width="100%" cellpadding="5" border="1" style="text-align: left; vertical-align: top; border-spacing: 2px; border: 1px solid darkgray" | ||
+ | |+ OPS435 Weekly Task Update | ||
+ | |- | ||
+ | |||
+ | ! week | ||
+ | ! Topics | ||
+ | ! Reading/Reference | ||
+ | ! Tasks/Labs | ||
+ | |- style="vertical-align: top; background: none" | ||
+ | | 1: May 6-10 | ||
+ | | <b>Course Overview</b> | ||
+ | <ul> | ||
+ | <li>Introduction</li> | ||
+ | <li>Why Python?</li> | ||
+ | <li>Languate: natural & formal</li> | ||
+ | </ul> | ||
+ | <b>Python Environment</b> | ||
+ | <ul> | ||
+ | <li>Concepts: | ||
+ | <ol><li>keywords</li> | ||
+ | <li>builtins</li> | ||
+ | </ol> | ||
+ | </li> | ||
+ | <li>Python Shell: | ||
+ | <ol><li>help()</li> | ||
+ | <li>dir()</li> | ||
+ | <li>type()</li> | ||
+ | <li>import</li> | ||
+ | </ol> | ||
+ | </li> | ||
+ | </ul> | ||
+ | | <ul> | ||
+ | <li>Think Python: Chapter 1 | ||
+ | <ul> | ||
+ | <li>What is a program?</li> | ||
+ | <li>Input, process (sequence, looping, repetition), output</li> | ||
+ | <li>complier, interpreter</li> | ||
+ | <li>Debugging</li> | ||
+ | </ul> | ||
+ | </li> | ||
+ | <li>Automate with Python: Chapter 1 & 2 | ||
+ | <ul> | ||
+ | <li>Python Basics</li> | ||
+ | <li>Flow Control</li> | ||
+ | </ul> | ||
+ | </li> | ||
+ | </ul> | ||
+ | | <ul> | ||
+ | <li>[[OPS435_Python_Lab_1 |Lab 1:<br>Setup & Using Python]]</li> | ||
+ | </li> | ||
+ | |- style="vertical-align: top; background: #f9f9f9" | ||
+ | | 2:May 13-17 | ||
+ | | <b>Python Basics:</b> | ||
+ | <ul> | ||
+ | <li>Objects</li> | ||
+ | <li>Variables</li> | ||
+ | <li>Operations</li> | ||
+ | <li>Built-in Functions</li> | ||
+ | </ul> | ||
+ | | <ul> | ||
+ | <li>Think Python: Chapter 2 | ||
+ | <ul> | ||
+ | <li>Variable, expressions and statements</li> | ||
+ | <li>Script mode and interactive mode</li> | ||
+ | <li>Python math operators and order of operations</li> | ||
+ | <li>String operation '+' and '*'</li> | ||
+ | </ul> | ||
+ | </li> | ||
+ | <li>Automate with Python: Chapter 3 & 4 | ||
+ | <ul> | ||
+ | <li>Functions</li> | ||
+ | <li>Lists</li> | ||
+ | </ul> | ||
+ | </li> | ||
+ | |||
+ | </ul> | ||
+ | | <ul> | ||
+ | <li>[[OPS435_Python_Lab_2 |Lab 2:<br>Understanding Python Code]]</li> | ||
+ | </li> | ||
+ | |- style="vertical-align: top; background: none" | ||
+ | | 3:May 20-24 | ||
+ | | <b>Reusing Python Code:</b> | ||
+ | <ul> | ||
+ | <li>Functions</li> | ||
+ | <li>Lists</li> | ||
+ | </ul> | ||
+ | | <ul> | ||
+ | <li>Think Python: Chapter 3 Functions | ||
+ | <ul> | ||
+ | <li>Function calls</li> | ||
+ | <li>Adding new functionse</li> | ||
+ | <li>Definitions and usess</li> | ||
+ | <li>Flow of execution</li> | ||
+ | <li>Parameters and arguments</li> | ||
+ | <li>Variables and parameters</li> | ||
+ | <li>Fruitful functions and void functions</li> | ||
+ | </ul> | ||
+ | </li> | ||
+ | <li>Automate with Python: Chapter 5 & 6 | ||
+ | <ul> | ||
+ | <li>Dictionaries and structuring data</li> | ||
+ | <li>Manipulating Strings</li> | ||
+ | </ul> | ||
+ | </li> | ||
+ | |||
+ | </ul> | ||
+ | | <ul> | ||
+ | <li>[[OPS435_Python_Lab_3 |Lab 3:<br>Reusing Python Code]]</li> | ||
+ | </li> | ||
+ | |- style="vertical-align: top; background: #f9f9f9" | ||
+ | | 4:May 27-31 | ||
+ | | <b>Basic Data Structures and String Manipulation:</b> | ||
+ | <ul> | ||
+ | <li>Tuples</li> | ||
+ | <li>Lists</li> | ||
+ | <li>Sets</li> | ||
+ | <li>Dictionaries</li> | ||
+ | <li>Strings</li> | ||
+ | </ul> | ||
+ | | <ul> | ||
+ | <li>Think Python: Chapter 5 Conditionals and recursion | ||
+ | <ul> | ||
+ | <li>Boolean expression</li> | ||
+ | <li>Logical operators</li> | ||
+ | <li>Conditional execution</li> | ||
+ | <li>Alternative execution</li> | ||
+ | <li>Chained conditionals</li> | ||
+ | <li>Nested conditionals</li> | ||
+ | <li>Recursion</li> | ||
+ | <li>Infinite recursion</li> | ||
+ | <li>Keyboard Input</li> | ||
+ | </ul> | ||
+ | </li> | ||
+ | <li>Automate with Python: Chapter 7 & 8 | ||
+ | <ul> | ||
+ | <li>Regular Expressions</li> | ||
+ | <li>Reading and Writing Files</li> | ||
+ | </ul> | ||
+ | </li> | ||
+ | |||
+ | </ul> | ||
+ | | <ul> | ||
+ | <li>[[OPS435_Python_Lab_4 |Lab 4:<br>Basic Data Structure & String Manipulation]]</li> | ||
+ | </li> | ||
+ | |- style="vertical-align: top; background: none" | ||
+ | | 5:Jun 3-7 | ||
+ | | <b>Files, Exceptions:</b> | ||
+ | <ul> | ||
+ | <li>File Handling</li> | ||
+ | <li>Error Handling</li> | ||
+ | </ul> | ||
+ | | <ul> | ||
+ | <li>Think Python: Chapter 14 - Files | ||
+ | <ul> | ||
+ | <li>Reading and writing</li> | ||
+ | <li>Format operator</li> | ||
+ | <li>Filenames and paths</li> | ||
+ | <li>Catching exception</li> | ||
+ | <li>Databasess</li> | ||
+ | <li>Picking</li> | ||
+ | <li>Pipes</li> | ||
+ | <li>Writing modules</li> | ||
+ | </ul> | ||
+ | </li> | ||
+ | <li>Automate with Python: Chapter 9 & 10 | ||
+ | <ul> | ||
+ | <li>Organizing Files</li> | ||
+ | <li>Debugging</li> | ||
+ | </ul> | ||
+ | </li> | ||
+ | |||
+ | </ul> | ||
+ | | <ul> | ||
+ | <li>[[OPS435_Python_Lab_5 |Lab 5:<br>Files & Error Handling]]</li> | ||
+ | </li> | ||
+ | |- style="vertical-align: top; background: #f9f9f9" | ||
+ | | 6:Jun 10-14 | ||
+ | | <b>Review and Catch up</b> | ||
+ | | | ||
+ | | <ul> | ||
+ | <li>[[OPS435 Assignment 1 Summer 2019| Assignment 1]]</li> | ||
+ | </li> | ||
+ | |- style="vertical-align: top; background: none" | ||
+ | | 7:Jun 17-21 | ||
+ | | <b>[[ops435_midterm|Mid-Term Test]]</b> | ||
+ | <ul> | ||
+ | <li>This week.</li> | ||
+ | <li>Topics: Lab 1 to Lab 5 and All topics covered from week 1 to week 5</li> | ||
+ | </ul> | ||
+ | | | ||
+ | | <b>Catch up</b> | ||
+ | |- style="vertical-align: top; background: #f9f9f9" | ||
+ | | Break Week:<br />Jun 24-28 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- style="vertical-align: top; background: none" | ||
+ | | 8:Jul 1-5 | ||
+ | | <b>Classes:</b> | ||
+ | <ul> | ||
+ | <li>Components of a class</li> | ||
+ | <li>Classes and objects</li> | ||
+ | </ul> | ||
+ | | <ul> | ||
+ | <li>Think Python: Chapter 15 - Classes and objects | ||
+ | <ul> | ||
+ | <li>Programmer-defined types</li> | ||
+ | <li>Attributes</li> | ||
+ | <li>Instances and return values</li> | ||
+ | <li>Objects are mutable</li> | ||
+ | <li>Copying</li> | ||
+ | </ul> | ||
+ | </li> | ||
+ | </ul> | ||
+ | | <ul> | ||
+ | <li>[[OPS435_Python_Lab_6 |Lab 6:<br>Writing Python Classes]]</li> | ||
+ | </li> | ||
+ | |- style="vertical-align: top; background: #f9f9f9" | ||
+ | | 9:Jul 8-12 | ||
+ | | <b>Classes:</b> | ||
+ | <ul> | ||
+ | <li>Designing classes</li> | ||
+ | </ul> | ||
+ | | <ul> | ||
+ | <li>Think Python: Chapter 16 - Classes and functions | ||
+ | <ul> | ||
+ | <li>Pure functions</li> | ||
+ | <li>Modifiers</li> | ||
+ | <li>Prototyping versus planning</li> | ||
+ | </ul> | ||
+ | </li> | ||
+ | </ul> | ||
+ | | <ul> | ||
+ | <li>[[OPS435_Python_Lab_7 |Lab 7:<br>Classes, Objects & scope]]</li> | ||
+ | </li> | ||
+ | |- style="vertical-align: top; background: none" | ||
+ | | 10:Jul 15-19 | ||
+ | | <b>Classes:</b> | ||
+ | <ul> | ||
+ | <li>Understanding scope</li> | ||
+ | </ul> | ||
+ | | <ul> | ||
+ | <li>Think Python: Chapter 17 - Classes and methods | ||
+ | <ul> | ||
+ | <li>The init method</li> | ||
+ | <li>The __str__methond</li> | ||
+ | <li>Operator overloading</li> | ||
+ | <li>Type-based dispatch</li> | ||
+ | <li>Polymorphism</li> | ||
+ | </ul> | ||
+ | </li> | ||
+ | </ul> | ||
+ | | <ul> | ||
+ | <li>[[OPS435_Python_Lab_8 |Lab 8:<br>Configuration management]]</li> | ||
+ | </li> | ||
+ | |- style="vertical-align: top; background: #f9f9f9" | ||
+ | | 11:Jul 22-26 | ||
+ | | <b>Configuration management:</b> | ||
+ | <ul> | ||
+ | <li>Fabric</li> | ||
+ | <li>Ansible</li> | ||
+ | </ul> | ||
+ | | | ||
+ | | <ul> | ||
+ | <li>[[OPS435 Assignment 2 Summer | Assignment 2]]</li> | ||
+ | </li> | ||
+ | |- style="vertical-align: top; background: none" | ||
+ | | 12:Jul 29-Aug 2 | ||
+ | | <b>Python Networking</b> | ||
+ | <ul> | ||
+ | <li>Network Client</li> | ||
+ | <li>Network Server</li> | ||
+ | Asynchronous Python Networking</li> | ||
+ | </ul> | ||
+ | | | ||
+ | | <ul> | ||
+ | <li>[[OPS435 Assignment 2 Summer| Assignment 2]]</li> | ||
+ | <li>Due this week.</li> | ||
+ | </li> | ||
+ | |- style="vertical-align: top; background: #f9f9f9" | ||
+ | | 13:Aug 5-9 | ||
+ | | <b>Exam Review</b> | ||
+ | | | ||
+ | | | ||
+ | |- style="vertical-align: top; background: none" | ||
+ | | Exam Week:<br />Aug 12-16 | ||
+ | | | ||
+ | | | ||
+ | | | ||
|} | |} |
Latest revision as of 18:05, 22 August 2019
Instructors:
|
Note: Each OPS435 section may have a different due dates for labs, tests and assignments. |
week | Topics | Reading/Reference | Tasks/Labs |
---|---|---|---|
1: May 6-10 | Course Overview
Python Environment
|
|
|
2:May 13-17 | Python Basics:
|
|
|
3:May 20-24 | Reusing Python Code:
|
|
|
4:May 27-31 | Basic Data Structures and String Manipulation:
|
|
|
5:Jun 3-7 | Files, Exceptions:
|
|
|
6:Jun 10-14 | Review and Catch up | ||
7:Jun 17-21 | Mid-Term Test
|
Catch up | |
Break Week: Jun 24-28 |
|||
8:Jul 1-5 | Classes:
|
|
|
9:Jul 8-12 | Classes:
|
|
|
10:Jul 15-19 | Classes:
|
|
|
11:Jul 22-26 | Configuration management:
|
||
12:Jul 29-Aug 2 | Python Networking
|
| |
13:Aug 5-9 | Exam Review | ||
Exam Week: Aug 12-16 |