Difference between revisions of "OPS435 Python Weekly Schedule 2019 Summer"

From CDOT Wiki
Jump to: navigation, search
Line 8: Line 8:
 
|
 
|
 
'''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: Jan 7-11
 +
| <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 &amp; Using Python]]</li>
 +
</li>
 +
|- style="vertical-align: top; background: #f9f9f9"
 +
| 2:Jan 14-18
 +
| <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:Jan 21-25
 +
| <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:Jan 28-Feb 1
 +
| <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 &amp; String Manipulation]]</li>
 +
</li>
 +
|- style="vertical-align: top; background: none"
 +
| 5:Feb 4-8
 +
| <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 &amp; Error Handling]]</li>
 +
</li>
 +
|- style="vertical-align: top; background: #f9f9f9"
 +
| 6:Feb 11-15
 +
| <b>Review and Catch up</b>
 +
|
 +
| <ul>
 +
  <li>[[OPS435 Assignment 1 A| Assignment 1]]</li>
 +
</li>
 +
|- style="vertical-align: top; background: none"
 +
| 7:Feb 18-22
 +
| <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 />Feb 25-Mar 1
 +
|
 +
|
 +
|
 +
|- style="vertical-align: top; background: none"
 +
| 8:Mar 4-8
 +
| <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:Mar 11-15
 +
| <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 &amp; scope]]</li>
 +
</li>
 +
|- style="vertical-align: top; background: none"
 +
| 10:Mar 18-22
 +
| <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:Mar 25-29
 +
| <b>Configuration management:</b>
 +
<ul>
 +
    <li>Fabric</li>
 +
    <li>Ansible</li>
 +
</ul>
 +
|
 +
| <ul>
 +
  <li>[[OPS435 Python Assignment 2 | Assignment 2]]</li>
 +
</li>
 +
|- style="vertical-align: top; background: none"
 +
| 12:Apr 1-5
 +
| <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:Apr 8-12
 +
| <b>Exam Review</b>
 +
|
 +
|
 +
|- style="vertical-align: top; background: none"
 +
| Exam Week:<br />Apr 15-19
 +
|
 +
|
 +
|
 
|}
 
|}

Revision as of 09:59, 22 April 2019

Instructors:

  • Raymond Chan

Note: Each OPS435 section may have a different due dates for labs, tests and assignments.
This schedule is considered to be a general guideline for week-by-week content.

OPS435 Weekly Task Update
week Topics Reading/Reference Tasks/Labs
1: Jan 7-11 Course Overview
  • Introduction
  • Why Python?
  • Languate: natural & formal

Python Environment

  • Concepts:
    1. keywords
    2. builtins
  • Python Shell:
    1. help()
    2. dir()
    3. type()
    4. import
  • Think Python: Chapter 1
    • What is a program?
    • Input, process (sequence, looping, repetition), output
    • complier, interpreter
    • Debugging
  • Automate with Python: Chapter 1 & 2
    • Python Basics
    • Flow Control
2:Jan 14-18 Python Basics:
  • Objects
  • Variables
  • Operations
  • Built-in Functions
  • Think Python: Chapter 2
    • Variable, expressions and statements
    • Script mode and interactive mode
    • Python math operators and order of operations
    • String operation '+' and '*'
  • Automate with Python: Chapter 3 & 4
    • Functions
    • Lists
3:Jan 21-25 Reusing Python Code:
  • Functions
  • Lists
  • Think Python: Chapter 3 Functions
    • Function calls
    • Adding new functionse
    • Definitions and usess
    • Flow of execution
    • Parameters and arguments
    • Variables and parameters
    • Fruitful functions and void functions
  • Automate with Python: Chapter 5 & 6
    • Dictionaries and structuring data
    • Manipulating Strings
4:Jan 28-Feb 1 Basic Data Structures and String Manipulation:
  • Tuples
  • Lists
  • Sets
  • Dictionaries
  • Strings
  • Think Python: Chapter 5 Conditionals and recursion
    • Boolean expression
    • Logical operators
    • Conditional execution
    • Alternative execution
    • Chained conditionals
    • Nested conditionals
    • Recursion
    • Infinite recursion
    • Keyboard Input
  • Automate with Python: Chapter 7 & 8
    • Regular Expressions
    • Reading and Writing Files
5:Feb 4-8 Files, Exceptions:
  • File Handling
  • Error Handling
  • Think Python: Chapter 14 - Files
    • Reading and writing
    • Format operator
    • Filenames and paths
    • Catching exception
    • Databasess
    • Picking
    • Pipes
    • Writing modules
  • Automate with Python: Chapter 9 & 10
    • Organizing Files
    • Debugging
6:Feb 11-15 Review and Catch up
7:Feb 18-22 Mid-Term Test
  • This week.
  • Topics: Lab 1 to Lab 5 and All topics covered from week 1 to week 5
Catch up
Break Week:
Feb 25-Mar 1
8:Mar 4-8 Classes:
  • Components of a class
  • Classes and objects
  • Think Python: Chapter 15 - Classes and objects
    • Programmer-defined types
    • Attributes
    • Instances and return values
    • Objects are mutable
    • Copying
9:Mar 11-15 Classes:
  • Designing classes
  • Think Python: Chapter 16 - Classes and functions
    • Pure functions
    • Modifiers
    • Prototyping versus planning
10:Mar 18-22 Classes:
  • Understanding scope
  • Think Python: Chapter 17 - Classes and methods
    • The init method
    • The __str__methond
    • Operator overloading
    • Type-based dispatch
    • Polymorphism
11:Mar 25-29 Configuration management:
  • Fabric
  • Ansible
12:Apr 1-5 Python Networking
  • Network Client
  • Network Server
  • Asynchronous Python Networking
13:Apr 8-12 Exam Review
Exam Week:
Apr 15-19