384
edits
Changes
Update for Fall 2022
[[Category:OPS435]][[Category:rchan]]
{| 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: #ffffe0"
| 1: Sept 5-9
| <b>Course Overview</b>
<ul>
<li>Introduction</li>
<li>Why Python?</li>
<li>Natural languate & formal language</li>
</ul>
<b>git and github.com</b>
<ul>
</ul>
<b>Python components:</b>
<ul>
<li>keywords</li>
<li>symbols</li>
<li>modules</li>
<li>objects</li>
</ul>
<b>Python Shell</b>
<ul>
<li>builtin modules</li>
<li>builtin functions:<ul>
<li>help()</li>
<li>dir()</li>
<li>type()</li>
</ul></li>
<li>keyword: import</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_Online_Lab1 |Lab 1:<br>git, github.com, and Python]]</li>
</li>
|- style="vertical-align: top; background: #e0ffff"
| 2: Sept 12-16
| <b>Python Basics:</b>
<ul>
<li>Objects</li>
<li>Methods and properties</li>
<li>Operators</li>
<li>expressions</li>
<li>statements</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_Online_Lab2 |Lab 2:<br>Understanding Python Code]]</li>
</li>
|- style="vertical-align: top; background: #ffffe0"
| 3: Sept 19-23
| <b>Reusing Python Code:</b>
<ul>Functions
<li>keyword: def</li>
<li>function parameters</li>
<li>return value</li>
<li>keyword: None</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_Online_Lab3 |Lab 3:<br>Reusing Python Code]]</li>
</li>
|- style="vertical-align: top; background: #e0ffff"
| 4: Sept 26-30
| <b>Basic Data Structures and String Manipulation:</b>
<ul>
<li>Integers</li>
<li>Strings</li>
<li>Tuples</li>
<li>Lists</li>
<li>Dictionaries</li>
<li>Sets</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_Online_Lab4 |Lab 4:<br>Basic Data Structure & String Manipulation]]</li>
</li>
|- style="vertical-align: top; background: #ffffe0"
| 5: Oct 3-7
| <b>Files, Exceptions:</b>
<ul>
<li>File Handling</li>
<li>Error Handling</li>
<li>Builtin error types</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_Online_Lab5 |Lab 5:<br>Files & Error Handling]]</li>
</li>
|- style="vertical-align: top; background: #e0ffff"
| 6: Oct 10-14
| <b>Catch-Up and Review</b>
|
| <ul>
<li>[[OPS435 Online Assignment 1| Assignment 1]]</li>
|- style="vertical-align: top; background: #e0ffff"
| 7: Oct 17-21
| <b>Mid-Term Test</b>
<ul>
<li>Date: THIS WEEK</li>
<li>Topics: Lab 1 to Lab 5 and All topics covered from week 1 to week 5</li>
</ul>
</li>
|- style="vertical-align: top; background: #ffffe0"
| Break Week:<br />Oct 24-28
|
|
|
|- style="vertical-align: top; background: #e0ffff"
| 8: Oct 30-Nov 4
| <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>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_Online_Lab6 |Lab 6:<br>Writing Python Classes]]</li>
</li>
|- style="vertical-align: top; background: #ffffe0"
| 9: Nov 7-11
| <b>Classes:</b>
<ul>
<li>Designing classes</li>
<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>The __repr__ method</li>
<li>Operator overloading</li>
<li>Type-based dispatch</li>
<li>Polymorphism</li>
</ul>
</li>
</ul>
| <ul>
<li>[[OPS435_Online_Lab7 |Lab 7:<br>Classes, Objects & scope]]</li>
</li>
|- style="vertical-align: top; background: #e0ffff"
| 10: Nov 14-18
| <b>Configuration management:</b>
<ul>
<li>Fabric</li>
<li>Ansible</li>
</ul>
| <ul>
</ul>
| <ul>
<li>[[OPS435_Online_Lab8 |Lab 8:<br>Configuration management]]</li>
</li>
|- style="vertical-align: top; background: #ffffe0"
| 11: Jul 25-29
| <b>Python Networking</b>
<ul>
<li>Network Client</li>
<li>Network Server</li>
Asynchronous Python Networking</li>
</ul>
|
| <ul>
<li>[[OPS435 Online Lab9 | Lab 9]]</li>
</ul>
|- style="vertical-align: top; background: #e0ffff"
| 12: Nov 21-25
| <b>Catch-up</b>
|
|- style="vertical-align: top; background: #e0ffff"
| 13: Nov 28-Dec 2
| <b>Final Assessment Review</b>
|
| [[OPS435 Online Assignment 2 | Assignment 2]]
|- style="vertical-align: top; background: #ffffe0"
| 14: Dec 5-9
| <b>Final Assessment</b>
|
|
|}
{| 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: #ffffe0"
| 1: Sept 5-9
| <b>Course Overview</b>
<ul>
<li>Introduction</li>
<li>Why Python?</li>
<li>Natural languate & formal language</li>
</ul>
<b>git and github.com</b>
<ul>
</ul>
<b>Python components:</b>
<ul>
<li>keywords</li>
<li>symbols</li>
<li>modules</li>
<li>objects</li>
</ul>
<b>Python Shell</b>
<ul>
<li>builtin modules</li>
<li>builtin functions:<ul>
<li>help()</li>
<li>dir()</li>
<li>type()</li>
</ul></li>
<li>keyword: import</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_Online_Lab1 |Lab 1:<br>git, github.com, and Python]]</li>
</li>
|- style="vertical-align: top; background: #e0ffff"
| 2: Sept 12-16
| <b>Python Basics:</b>
<ul>
<li>Objects</li>
<li>Methods and properties</li>
<li>Operators</li>
<li>expressions</li>
<li>statements</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_Online_Lab2 |Lab 2:<br>Understanding Python Code]]</li>
</li>
|- style="vertical-align: top; background: #ffffe0"
| 3: Sept 19-23
| <b>Reusing Python Code:</b>
<ul>Functions
<li>keyword: def</li>
<li>function parameters</li>
<li>return value</li>
<li>keyword: None</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_Online_Lab3 |Lab 3:<br>Reusing Python Code]]</li>
</li>
|- style="vertical-align: top; background: #e0ffff"
| 4: Sept 26-30
| <b>Basic Data Structures and String Manipulation:</b>
<ul>
<li>Integers</li>
<li>Strings</li>
<li>Tuples</li>
<li>Lists</li>
<li>Dictionaries</li>
<li>Sets</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_Online_Lab4 |Lab 4:<br>Basic Data Structure & String Manipulation]]</li>
</li>
|- style="vertical-align: top; background: #ffffe0"
| 5: Oct 3-7
| <b>Files, Exceptions:</b>
<ul>
<li>File Handling</li>
<li>Error Handling</li>
<li>Builtin error types</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_Online_Lab5 |Lab 5:<br>Files & Error Handling]]</li>
</li>
|- style="vertical-align: top; background: #e0ffff"
| 6: Oct 10-14
| <b>Catch-Up and Review</b>
|
| <ul>
<li>[[OPS435 Online Assignment 1| Assignment 1]]</li>
|- style="vertical-align: top; background: #e0ffff"
| 7: Oct 17-21
| <b>Mid-Term Test</b>
<ul>
<li>Date: THIS WEEK</li>
<li>Topics: Lab 1 to Lab 5 and All topics covered from week 1 to week 5</li>
</ul>
</li>
|- style="vertical-align: top; background: #ffffe0"
| Break Week:<br />Oct 24-28
|
|
|
|- style="vertical-align: top; background: #e0ffff"
| 8: Oct 30-Nov 4
| <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>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_Online_Lab6 |Lab 6:<br>Writing Python Classes]]</li>
</li>
|- style="vertical-align: top; background: #ffffe0"
| 9: Nov 7-11
| <b>Classes:</b>
<ul>
<li>Designing classes</li>
<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>The __repr__ method</li>
<li>Operator overloading</li>
<li>Type-based dispatch</li>
<li>Polymorphism</li>
</ul>
</li>
</ul>
| <ul>
<li>[[OPS435_Online_Lab7 |Lab 7:<br>Classes, Objects & scope]]</li>
</li>
|- style="vertical-align: top; background: #e0ffff"
| 10: Nov 14-18
| <b>Configuration management:</b>
<ul>
<li>Fabric</li>
<li>Ansible</li>
</ul>
| <ul>
</ul>
| <ul>
<li>[[OPS435_Online_Lab8 |Lab 8:<br>Configuration management]]</li>
</li>
|- style="vertical-align: top; background: #ffffe0"
| 11: Jul 25-29
| <b>Python Networking</b>
<ul>
<li>Network Client</li>
<li>Network Server</li>
Asynchronous Python Networking</li>
</ul>
|
| <ul>
<li>[[OPS435 Online Lab9 | Lab 9]]</li>
</ul>
|- style="vertical-align: top; background: #e0ffff"
| 12: Nov 21-25
| <b>Catch-up</b>
|
|- style="vertical-align: top; background: #e0ffff"
| 13: Nov 28-Dec 2
| <b>Final Assessment Review</b>
|
| [[OPS435 Online Assignment 2 | Assignment 2]]
|- style="vertical-align: top; background: #ffffe0"
| 14: Dec 5-9
| <b>Final Assessment</b>
|
|
|}