Difference between revisions of "OPS435 Python"

From CDOT Wiki
Jump to: navigation, search
(41 intermediate revisions by 3 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_2019_Summer 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_2021_Summer Weekly Schedule]</div>[https://scs.senecac.on.ca/course/ops435 Course Outline]
 
|-
 
|-
 
!style="background: #cccccc"| Assignments
 
!style="background: #cccccc"| Assignments
 
|-
 
|-
|[[OPS435_Assignment_1_Summer_2019| Assignment 1]]
+
|[[OPS435_Online_Assignment_1| Assignment 1]]
 
|-
 
|-
|[[OPS435 Assignment 2 Summer| Assignment 2]]
+
|[[OPS435_Online_Assignment_2| Assignment 2]]
|-
 
|[[OPS435 Assignment 3 Summer| Assignment 3]]
 
 
|}
 
|}
 
 
 
 
= 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 32: Line 27:
 
: 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 42: Line 37:
 
==Required Materials==
 
==Required Materials==
 
<table cellpadding="10" cellspacing="0" width="100%">
 
<table cellpadding="10" cellspacing="0" width="100%">
 +
  <tr valign="top">
 +
      <td width="10%" style="border-bottom: thin solid #cccccc;">Devices</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>
 +
  </tr>
 
   <tr>
 
   <tr>
 
       <td  width="10%" style="border-bottom: thin solid #cccccc;">[[Image:ssd.png|left|95px]]</td>
 
       <td  width="10%" style="border-bottom: thin solid #cccccc;">[[Image:ssd.png|left|95px]]</td>
       <td  width="20%" style="border-bottom: thin solid #cccccc;padding-top:25px;padding-bottom:25px;">'''<br>Solid State Drive (SSD)'''</td>
+
       <td  width="20%" style="border-bottom: thin solid #cccccc;padding-top:25px;padding-bottom:25px;">'''<br>Solid State Drive (SSD) (Optional)'''</td>
 
       <td  width="20%" style="border-bottom: thin solid #cccccc;text-align:right;">'''Minimum Capacity:''' 100 GB</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>
 
   <tr valign="top">
 
   <tr valign="top">
Line 63: Line 66:
  
 
== Course Faculty ==
 
== Course Faculty ==
 
+
'''During the <b>Summer 2021</b> semester, OPS435 is taught by:'''
'''During the <b>Summer 2019</b> semester, OPS435 is taught by:'''
 
  
 
{|cellpadding="15" width="80%"
 
{|cellpadding="15" width="80%"
Line 70: Line 72:
 
|- valign="top"
 
|- valign="top"
  
|[[Image:raymond.jpg|thumb|left|225px|<b>Raymond Chan</b><br />(Section '''A,B,C-July/Aug''')<br />raymond.chan@senecacollege.ca<br />[http://scs.senecac.on.ca/~raymond.chan Raymond's web-site]  ]]
+
[[Image:raymond.jpg|thumb|left|150px|<b>Raymond Chan</b><br />(Section '''A,D''' Week 1-6 )<br />raymond.chan@senecacollege.ca<br />[https://ict.senecacollege.ca/~raymond.chan Raymond'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:eric_brauer.jpg|thumb|150px|left|<b>Eric Brauer</b><br />(Section '''A''' Week 7-12)<br>eric.brauer@senecacollege.ca<br>[https://ict.senecacollege.ca/~eric.brauer Eric's web-site] ]]
|[[Image:azzad.jpg|thumb|left|205px|<b>Azzad Kara</b><br>(Section '''C-May/June''')<br>  azzad.kara@senecacollege.ca<br>  ]]
+
|[[Image:azzad.jpg|thumb|150px|left|<b>Azzad Kara</b><br>(Section '''D''' Week 7-12)<br>  azzad.kara@senecacollege.ca<br>  ]]
  
<!--|[[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:andrew-o-w.png|thumb|left|320px|<b>Andrew Oatley-Willis (Second Half)</b><br>(Section '''A,B''')<br>
+
<!--|[[Image:chris.jpg|thumb|left|175px|<b>Chris Johnson</b><br />(Section '''A,B-May/June''')<br />chris.johnson@senecacollege.ca<br/> ]]
andrew.oatley-willis@senecacollege.ca<br />]]
 
 
-->
 
-->
 
+
<!--|[[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:azzad.jpg|thumb|left|230px|<b>Azzad Kara</b><br>('''Spring:''' Section '''CC''')<br>  azzad.kara@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:chris-m.jpeg|thumb|left|250px|<b>Christopher Markieta</b><br>(Section '''D''')<br>markietachristopher@gmail.com<br />Christopher's web-site ]]
 
-->
 
 
 
<!--
 
|[[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] ]]
 
 
-->
 
-->
  
Line 108: Line 87:
 
-->
 
-->
 
|}
 
|}
 +
== 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 ==

Revision as of 00:10, 16 May 2021

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
Ssd.png

Solid State Drive (SSD) (Optional)
Minimum Capacity: 100 GB
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 Summer 2021 semester, OPS435 is taught by:

Raymond Chan
(Section A,D Week 1-6 )
raymond.chan@senecacollege.ca
Raymond's web-site
Eric Brauer
(Section A Week 7-12)
eric.brauer@senecacollege.ca
Eric's web-site
Azzad Kara
(Section D Week 7-12)
azzad.kara@senecacollege.ca


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.