Difference between revisions of "OPS435 Python Weekly Schedule 2018 Fall"

From CDOT Wiki
Jump to: navigation, search
(Created page with "Category:OPS435Category:rchan {| width="100%" align="left" cellpadding="10" |- valign="top" |width="45%"| '''Instructors:''' *'''Raymond Chan ''' | '''Note:''' Each...")
 
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>
 +
</ul>
 +
| <ul>
 +
  <li>[[OPS435_Python_Lab_1 |Lab 1:<br>Setup &amp; 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>
 +
</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>
 +
</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>
 +
</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: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>
 +
</ul>
 +
| <ul>
 +
  <li>[[OPS435_Python_Lab_5 |Lab 5:<br>Files &amp; Error Handling]]</li>
 +
</li>
 +
|- style="vertical-align: top; background: #f9f9f9"
 +
| 6:Oct 8-12
 +
| <b>Review and Catch up</b>
 +
|
 +
| <ul>
 +
  <li>[[OPS435 Assignment 1 A| Assignment 1]]</li>
 +
  <li>Due Date: Jun 14, 2018</li>
 +
</li>
 +
|- style="vertical-align: top; background: none"
 +
| 7:Oct 15-19
 +
| <b>Mid-Term Test</b>
 +
<ul>
 +
  <li>Date: June 19, 2018</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 Assignment 2 | Assignment 2]]</li>
 +
  <li>Due Date: August 2, 2018</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_7 |Lab 7:<br>Classes, Objects &amp; scope]]</li>
 +
</li>
 +
|- style="vertical-align: top; background: #f9f9f9"
 +
| 11:Nov 19-23
 +
| <b>Configuration management:</b>
 +
<ul>
 +
    <li>Fabric</li>
 +
    <li>Ansible</li>
 +
</ul>
 +
|
 +
| <ul>
 +
  <li>[[OPS435_Python_Lab_8 |Lab 8:<br>Configuration management]]</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: August 2, 2018</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
 +
|
 +
|
 +
|
 
|}
 
|}

Revision as of 10:15, 3 September 2018


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: Sep 3-7 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
2:Sep 10-14 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 '*'
3:Sep 17-21 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
4:Sep 24-28 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
5:Oct 1-5 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
6:Oct 8-12 Review and Catch up
7:Oct 15-19 Mid-Term Test
  • Date: June 19, 2018
  • Topics: Lab 1 to Lab 5 and All topics covered from week 1 to week 5
Catch up
Break Week:
Oct 22-26
8:Oct 29-Nov 2 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:Nov 5-9 Classes:
  • Designing classes
  • Think Python: Chapter 16 - Classes and functions
    • Pure functions
    • Modifiers
    • Prototyping versus planning
10:Nov 12-16 Classes:
  • Understanding scope
  • Think Python: Chapter 17 - Classes and methods
    • The init method
    • The __str__methond
    • Operator overloading
    • Type-based dispatch
    • Polymorphism
11:Nov 19-23 Configuration management:
  • Fabric
  • Ansible
12:Nov 26-30 Python Networking
  • Network Client
  • Network Server
  • Asynchronous Python Networking
13:Dec 3-7 Exam Review
Exam Week:
Dec 10-14