Difference between revisions of "OPS435 Python Weekly Schedule 2018 Fall"
(Created page with "Category:OPS435Category:rchan {| width="100%" align="left" cellpadding="10" |- valign="top" |width="45%"| '''Instructors:''' *'''Raymond Chan ''' | '''Note:''' Each...") |
|||
(8 intermediate revisions by the same user not shown) | |||
Line 9: | Line 9: | ||
| | | | ||
'''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: Sep 3-7 | ||
+ | | <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:Sep 10-14 | ||
+ | | <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:Sep 17-21 | ||
+ | | <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:Sep 24-28 | ||
+ | | <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:Oct 1-5 | ||
+ | | <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:Oct 8-12 | ||
+ | | <b>Review and Catch up</b> | ||
+ | | | ||
+ | | <ul> | ||
+ | <li>[[OPS435 Python Assignment 1 2018 Fall| Assignment 1]]</li> | ||
+ | </li> | ||
+ | |- style="vertical-align: top; background: none" | ||
+ | | 7:Oct 15-19 | ||
+ | | <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 />Oct 22-26 | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | |- style="vertical-align: top; background: none" | ||
+ | | 8:Oct 29-Nov 2 | ||
+ | | <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:Nov 5-9 | ||
+ | | <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:Nov 12-16 | ||
+ | | <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:Nov 19-23 | ||
+ | | <b>Configuration management:</b> | ||
+ | <ul> | ||
+ | <li>Fabric</li> | ||
+ | <li>[[OPS435 Ansible|Ansible]]</li> | ||
+ | </ul> | ||
+ | | | ||
+ | | <ul> | ||
+ | <li>[[OPS435 Python Assignment 2 | Assignment 2]]</li> | ||
+ | </li> | ||
+ | |- style="vertical-align: top; background: none" | ||
+ | | 12:Nov 26-30 | ||
+ | | <b>Python Networking</b> | ||
+ | <ul> | ||
+ | <li>Network Client</li> | ||
+ | <li>Network Server</li> | ||
+ | Asynchronous Python Networking</li> | ||
+ | </ul> | ||
+ | | | ||
+ | | <ul> | ||
+ | <li>[[OPS435 Python Assignment 2 | Assignment 2]]</li> | ||
+ | <li>Due this week.</li> | ||
+ | </li> | ||
+ | |- style="vertical-align: top; background: #f9f9f9" | ||
+ | | 13:Dec 3-7 | ||
+ | | <b>Exam Review</b> | ||
+ | | | ||
+ | | | ||
+ | |- style="vertical-align: top; background: none" | ||
+ | | Exam Week:<br />Dec 10-14 | ||
+ | | <b>Dec 10, 2018 (Monday)</b><br>4:30pm - 6:30pm | ||
+ | | | ||
+ | | | ||
|} | |} |
Latest revision as of 01:10, 26 November 2018
Instructors:
|
Note: Each OPS435 section may have a different due dates for labs, tests and assignments. |
week | Topics | Reading/Reference | Tasks/Labs |
---|---|---|---|
1: Sep 3-7 | Course Overview
Python Environment
|
|
|
2:Sep 10-14 | Python Basics:
|
|
|
3:Sep 17-21 | Reusing Python Code:
|
|
|
4:Sep 24-28 | Basic Data Structures and String Manipulation:
|
|
|
5:Oct 1-5 | Files, Exceptions:
|
|
|
6:Oct 8-12 | Review and Catch up | ||
7:Oct 15-19 | Mid-Term Test
|
Catch up | |
Break Week: Oct 22-26 |
|||
8:Oct 29-Nov 2 | Classes:
|
|
|
9:Nov 5-9 | Classes:
|
|
|
10:Nov 12-16 | Classes:
|
|
|
11:Nov 19-23 | Configuration management:
|
||
12:Nov 26-30 | Python Networking
|
| |
13:Dec 3-7 | Exam Review | ||
Exam Week: Dec 10-14 |
Dec 10, 2018 (Monday) 4:30pm - 6:30pm |