Difference between revisions of "OPS435 Python"

From CDOT Wiki
Jump to: navigation, search
(added link to second assignment for fall2022)
 
(80 intermediate revisions by 5 users not shown)
Line 2: Line 2:
 
!style="background: #cccccc"| Quick Links
 
!style="background: #cccccc"| Quick Links
 
|-
 
|-
|<div style="background:#ffff00">[https://wiki.cdot.senecacollege.ca/wiki/OPS435_Python_Weekly_Schedule Weekly Schedule]</div>[https://scs.senecac.on.ca/course/ops435 Course Outline]
+
|<div style="background:#ffff00">[https://wiki.cdot.senecacollege.ca/wiki/OPS435_Python_Weekly_Schedule_2022_Fall Weekly Schedule]</div>[https://scs.senecac.on.ca/course/ops435 Course Outline]
 
|-
 
|-
 
!style="background: #cccccc"| Assignments
 
!style="background: #cccccc"| Assignments
 
|-
 
|-
|[https://wiki.cdot.senecacollege.ca/wiki/OPS435_Python_Assignment_1 Assignment 1]
+
<!--|[[OPS435_Online_Assignment_1| Assignment 1]]-->
[https://wiki.cdot.senecacollege.ca/wiki/OPS435_Python_Assignment_2 Assignment 2]
+
| [https://wiki.cdot.senecacollege.ca/wiki/OPS435_Python/assignment_1_fall2022 Assignment 1]
 +
|-
 +
| [https://wiki.cdot.senecacollege.ca/wiki/OPS435_Python/assignment_2_fall2022 Assignment 2]
 
|}
 
|}
 
 
 
 
= Welcome to OPS435 - ''Open System Automation'' =
 
= Welcome to OPS435 - ''Open System Automation'' =
 
{| width="100%" align="right" cellpadding="10"
 
{| width="100%" align="right" cellpadding="10"
Line 29: Line 28:
 
: You will practice the writing of many scripts, reinforcing the importance of automation and reusable code. You will be introduced to powerful tools used in system administration, which will give you experience in solving problems more effectively. As a system administrator you will be responsible for maintaining more than just a few servers, you will learn the skills to manage large scale networks, in preparation for cloud computing.  
 
: You will practice the writing of many scripts, reinforcing the importance of automation and reusable code. You will be introduced to powerful tools used in system administration, which will give you experience in solving problems more effectively. As a system administrator you will be responsible for maintaining more than just a few servers, you will learn the skills to manage large scale networks, in preparation for cloud computing.  
  
: In this course you will use a ssd(in a usb enclosure) or a removable disk tray with lab computers, similarly to other Linux courses. However, this time you will setup a unique environment for development and testing. This course can be broken up into 2 halves. The first half of this course will cover learning the python language. The second half of this course, will cover powerful administraton systems, and allow you to apply your python knowledge to extend these systems.
+
: In this course you will use a ssd(in a usb enclosure) with your own computers to create VM using VMWare Workstation, similarly to other Linux courses. However, this time you will also use your account on matrix.senecacollege.ca for creating and testing scripts for each lab. This course can be broken up into 2 halves. The first half of this course will cover learning the python language. The second half of this course, will cover powerful administration systems, and allow you to apply your python knowledge to extend these systems.
  
 
== Learning by Doing ==
 
== Learning by Doing ==
  
Most of the learning in this course occurs through interactive labs that give feedback as you work through each problem. While this feedback may help, the solutions will still need to be found by you. There are many ways to solve each problem you encounter in this course, letting you improve through practice. The way you solved a problem at the beginning of the semester may not be the way you solve it near the end of the semester. Trying to solve previous labs, after learning new material, may prove insightful.
+
Most of the learning in this course occurs through interactive labs that give you feedbacks as you work through each task. While this feedback may help, the solutions will still need to be found by you. There are many ways to solve each problem you may encounter in this course, letting you improve through practice. The way you solved a problem at the beginning of the semester may not be the way you solve it near the end of the semester. Trying to solve previous labs, after learning new material, may prove insightful.
  
 
| width="40% |
 
| width="40% |
Line 39: Line 38:
 
==Required Materials==
 
==Required Materials==
 
<table cellpadding="10" cellspacing="0" width="100%">
 
<table cellpadding="10" cellspacing="0" width="100%">
   <tr>
+
   <tr valign="top">
       <td width="10%" style="border-bottom: thin solid #cccccc;">[[Image:ssd.png|left|95px]]</td>
+
       <td width="10%" style="border-bottom: thin solid #cccccc;">Devices</td>
       <td  width="20%" style="border-bottom: thin solid #cccccc;padding-top:25px;padding-bottom:25px;">'''<br>Solid State Drive (SSD)'''</td>
+
       <td  colspan="2" width="20%" style="border-bottom: thin solid #cccccc;"> [https://www.senecacollege.ca/student-services-and-support/technical-requirements-for-online-learning.html Software and Hardware for Online Learning]</td>
       <td  width="20%" style="border-bottom: thin solid #cccccc;text-align:right;">'''Minimum Capacity:''' 100 GB</td>
+
  </tr>
 +
  <tr valign="top">
 +
      <td width="10%" style="border-bottom: thin solid #cccccc;">[[Image:matrix_cluster.png|left|50px]]</td>
 +
       <td  colspan="2" width="20%" style="border-bottom: thin solid #cccccc;">'''Account on matrix'''<br>matrix.senecacollege.ca<br>SSH access only after connected to Seneca VPN</td>
 
   </tr>
 
   </tr>
 
   <tr valign="top">
 
   <tr valign="top">
 
       <td width="10%" style="border-bottom: thin solid #cccccc;">[[Image:blank-cd.png|left|50px]]</td>
 
       <td width="10%" style="border-bottom: thin solid #cccccc;">[[Image:blank-cd.png|left|50px]]</td>
       <td  colspan="2" width="20%" style="border-bottom: thin solid #cccccc;">'''CentOS 7 - Latest Stable Version'''<br>(refer to link in [[OPS435_Python_Lab_1 | lab1]])</td>
+
       <td  colspan="2" width="20%" style="border-bottom: thin solid #cccccc;">'''Seneca VPN Client'''<br>[https://inside.senecacollege.ca/its/services/vpn/ Student VPN Client]</td>
 +
  </tr>
 +
  <tr valign="top">
 +
      <td width="10%" style="border-bottom: thin solid #cccccc;">[[Image:thinkpython.png|left|100px]]</td>
 +
      <td  colspan="2" width="20%" style="border-bottom: thin solid #cccccc;">'''Think Python''' by Allen B. Downey<br>(Available in print [http://greenteapress.com/wp/think-python-2e/ and online])</td>
 +
  </tr>
 +
  <tr valign="top">
 +
      <td width="10%" style="border-bottom: thin solid #cccccc;">[[Image:automatewithpython.png|left|100px]]</td>
 +
      <td  colspan="2" width="20%" style="border-bottom: thin solid #cccccc;">'''Automate the boring Stuff with Python''' by AL Sweigart<br>(Available in print [https://automatetheboringstuff.com/ and online])</td>
 
   </tr>
 
   </tr>
 
</table>
 
</table>
Line 52: Line 62:
  
 
== Course Faculty ==
 
== Course Faculty ==
 +
'''During the <b>Fall 2022</b> semester, OPS435 is taught by:'''
  
'''During the <b>fall 2017</b> semester, OPS435 is taught by:'''
+
{|cellpadding="15" width="80%"
  
{|cellpadding="15" width="80%"
 
 
|- valign="top"
 
|- valign="top"
|[[Image:andrew.jpg|thumb|left|225px|<b>Andrew Smith</b><br />(Sections '''A''' and '''B''') <br />andrew.smith@senecacollege.ca<br />[http://littlesvr.ca/currentposition.php Andrew's schedule] ]]
 
|[[Image:andrew-o-w.png|thumb|left|320px|<b>Andrew Oatley-Willis</b><br>(Section '''C''')<br>
 
andrew.oatley-willis@senecacollege.ca<br />]]
 
 
<!--
 
|[[Image:kent.png|thumb|left|325px|<b>Kent Poots</b><br />Sections '''?'''  &amp; '''?'''  <br />kent.poots.seneca@gmail.com<br />[http://www.drivehq.com/sharing/ShareLogon.aspx?key=10226970/l90aboda8mq8 Kent's class materials] ]]
 
|[[Image:marcos.jpg|thumb|left|225px|<b>Marcos Cavenaghi<br />(Second Half)</b><br />Sections: '''B''' , '''C''' &amp; '''D'''<br /><br /> ]]
 
|[[Image:MikeMartin.jpg|thumb|left|225px|<b>Mike Martin (Second Half)</b><br />Sections: '''A'''  <br />mike.martin@senecacollege.ca<br />[http://scs.senecac.on.ca/~mike.martin// Mike's web-site] ]]
 
-->
 
  
<!--
 
|[[Image:MarkFernandes.jpg|thumb|left|200px|<b> Mark Fernandes</b><br>(Section '''F''')<br> mark.fernandes@senecacollege.ca<br />[http://cs.senecac.on.ca/~mark.fernandes Mark's web-site]  ]]
 
-->
 
  
<!--|[[Image:HansHeim.jpg|thumb|left|230px|<b> Hans Heim</b><br>(Section '''N/A''' )<br> hans.heim@senecacollege.ca<br />[http://hansheim.blogspot.ca/ Hans's Instructor Page] ]]
+
|[[Image:eric_brauer.jpg|thumb|150px|left|<b>Eric Brauer</b><br />(Section '''A''' )<br>eric.brauer@senecacollege.ca<br>[https://ericbrauer.github.io Eric's web-site] ]]
-->
 
  
<!--  
+
<!--|[[Image:chris.jpg|thumb|left|175px|<b>Chris Johnson</b><br />(Section '''A,B-May/June''')<br />chris.johnson@senecacollege.ca<br/> ]]
|[[Image:chris-m.jpeg|thumb|left|250px|<b>Christopher Markieta</b><br>(Section '''D''')<br>markietachristopher@gmail.com<br />Christopher's web-site ]]
 
 
-->
 
-->
 
+
<!--|[[Image:andrew.jpg|thumb|left|225px|<b>Andrew Smith</b><br />(Sections '''B''' and '''C''') <br />andrew.smith@senecacollege.ca<br />[http://littlesvr.ca/currentposition.php Andrew's schedule] ]]
<!--
 
|[[Image:murraysaul.jpg|thumb|left|200px|<b>Murray Saul</b><br>(Sections '''A''' &amp; '''B''')<br>murray.saul@senecacollege.ca<br />[http://murraysaul.wordpress.com/ Murray's web-site] ]]
 
 
-->
 
-->
  
 
<!--
 
<!--
|[[Image:azzad.jpg|thumb|left|230px|<b>Azzad Kara</b><br>('''Spring:''' Section '''CC''')<br>  azzad.kara@senecacollege.ca<br>  ]]
 
|[[Image:raymond.jpg|thumb|left|215px|<b>Raymond Chan</b><br />('''Summer:''' Sections '''CC''', '''DD''')<br />  raymond.chan@senecacollege.ca<br />[http://scs.senecac.on.ca/~raymond.chan Raymond's web-site]  ]]
 
 
|[[Image:andrew.jpg|thumb|left|185px|<b>Andrew Smith (First Half)</b><br />Sections '''C''' and '''D'''<br />andrew.smith@senecacollege.ca<br />[http://littlesvr.ca/currentposition.php Andrew's schedule] ]]
 
|[[Image:andrew.jpg|thumb|left|185px|<b>Andrew Smith (First Half)</b><br />Sections '''C''' and '''D'''<br />andrew.smith@senecacollege.ca<br />[http://littlesvr.ca/currentposition.php Andrew's schedule] ]]
  
 
-->
 
-->
 
|}
 
|}
 +
== FAQ ==
 +
:[https://inventwithpython.com/blog/2012/09/27/am-i-too-old-to-learn-programming/ Am I too old to learn programming?]
  
 
== Wiki Participation ==
 
== Wiki Participation ==

Latest revision as of 10:53, 11 November 2022

Quick Links
Course Outline
Assignments
Assignment 1
Assignment 2

Welcome to OPS435 - Open System Automation

What This Course is About

This course is the fourth in a series of courses about Linux technologies

OPS435 will help you learn how to read, write, and maintain scripts which assist with common system administration tasks. The days of performing all administrative tasks manually has come to an end, now you must move forward into a world of automation.
  • ULI101 taught you to be Linux user.
  • OPS235 taught you to move from being a Linux user to being a Linux system administrator.
  • OPS335 taught you to administer Linux servers.
  • OPS435 will teach you to automate many tasks associated with system administration.
You will practice the writing of many scripts, reinforcing the importance of automation and reusable code. You will be introduced to powerful tools used in system administration, which will give you experience in solving problems more effectively. As a system administrator you will be responsible for maintaining more than just a few servers, you will learn the skills to manage large scale networks, in preparation for cloud computing.
In this course you will use a ssd(in a usb enclosure) with your own computers to create VM using VMWare Workstation, similarly to other Linux courses. However, this time you will also use your account on matrix.senecacollege.ca for creating and testing scripts for each lab. This course can be broken up into 2 halves. The first half of this course will cover learning the python language. The second half of this course, will cover powerful administration systems, and allow you to apply your python knowledge to extend these systems.

Learning by Doing

Most of the learning in this course occurs through interactive labs that give you feedbacks as you work through each task. While this feedback may help, the solutions will still need to be found by you. There are many ways to solve each problem you may encounter in this course, letting you improve through practice. The way you solved a problem at the beginning of the semester may not be the way you solve it near the end of the semester. Trying to solve previous labs, after learning new material, may prove insightful.

Required Materials

Devices Software and Hardware for Online Learning
Matrix cluster.png
Account on matrix
matrix.senecacollege.ca
SSH access only after connected to Seneca VPN
Blank-cd.png
Seneca VPN Client
Student VPN Client
Thinkpython.png
Think Python by Allen B. Downey
(Available in print and online)
Automatewithpython.png
Automate the boring Stuff with Python by AL Sweigart
(Available in print and online)

Course Faculty

During the Fall 2022 semester, OPS435 is taught by:

Eric Brauer
(Section A )
eric.brauer@senecacollege.ca
Eric's web-site


FAQ

Am I too old to learn programming?

Wiki Participation

  • You can edit these pages! Please feel free to fix typos or add links to additional resources. Please use this capability responsibly.