Difference between revisions of "OPS435 Python"

From CDOT Wiki
Jump to: navigation, search
(Welcome to OPS435 - Open System Automation)
 
(47 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_Winter 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_Winter Weekly Schedule]</div>[https://scs.senecac.on.ca/course/ops435 Course Outline]
 
|-
 
|-
 
!style="background: #cccccc"| Assignments
 
!style="background: #cccccc"| Assignments
 
|-
 
|-
|[[OPS435_Python_Assignment_1_2019_Winter | Assignment 1]]
+
|[[OPS435_Online_Assignment_1| Assignment 1]]
 
|-
 
|-
|[[OPS435 Python Assignment 2 | Assignment 2]]
+
|[[OPS435_Online_Assignment_2| Assignment 2]]
|-
 
|[[OPS435 Python Assignment 3 | 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>Fall 2020</b> semester, OPS435 is taught by:'''
'''During the <b>Winter 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|215px|<b>Raymond Chan</b><br />(Section '''A,B,C''')<br /raymond.chan@senecacollege.ca<br />[http://scs.senecac.on.ca/~raymond.chan Raymond's web-site] ]]
+
<!--|[[Image:azzad.jpg|thumb|100px|left|<b>Azzad Kara</b><br>(Section '''A''')<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:eric_brauer.jpg|thumb|left|150px|<b>Eric Brauer</b><br />(Section '''C''')<br />eric.brauer@senecacollege.ca<br />[https://ict.senecacollege.ca/~eric.brauer Eric's web-site] ]]
  
<!--|[[Image:andrew-o-w.png|thumb|left|320px|<b>Andrew Oatley-Willis (Second Half)</b><br>(Section '''A,B''')<br>
+
|[[Image:raymond.jpg|thumb|left|150px|<b>Raymond Chan</b><br />(Section '''A,B''')<br />raymond.chan@senecacollege.ca<br />[https://ict.senecacollege.ca/~raymond.chan Raymond's web-site]  ]]
andrew.oatley-willis@senecacollege.ca<br />]]
 
-->
 
  
<!--
+
<!--|[[Image:chris.jpg|thumb|left|175px|<b>Chris Johnson</b><br />(Section '''A,B-May/June''')<br />chris.johnson@senecacollege.ca<br/> ]]
|[[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: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: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 106: Line 88:
 
-->
 
-->
 
|}
 
|}
 +
== 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 22:53, 6 January 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 Fall 2020 semester, OPS435 is taught by:

Eric Brauer
(Section C)
eric.brauer@senecacollege.ca
Eric's web-site
Raymond Chan
(Section A,B)
raymond.chan@senecacollege.ca
Raymond'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.