'''Introduction to git, github.com, and Python'''
= Lab Objectives =
:* Using the "git clone" command to clone a repository into a new directory
= Overview =
:In this lab, you will create an account on github.com and follow the Github "Hello World guide" to create a new public repository on github to and explore the basic workflow of using github to track and manage revisions of software or other contents. The essential operations provided by Github includes:*creating new repository, :*creating a new branch, :*making changes to files, :*creating a pull request, and :*opening and merging a pull request. :You will then use the git client (git clone) on matrix.senecacollege.ca to access and download the contents of the repository you created on github. Note: if you have your own Linux VM ready, you can also install and use the git client on your VM.:You will also use the git client on matrix.senecacollege.ca to clone the repository on github.com which hosts the Python scripts for lab 1. :
Study and execute the Python scripts downloaded from the lab 1 repository
:* Open a pull request, and
:* Merge your pull request
: Please make the following changes when following the guide::* name the new repository using your Seneca user name instead of "hello-world".
:* add your full name, and OPS435 section to the README file, do not post any other personal information there.
:* run the following two commands and capture their output to the named files:
git log > gitlog.txt
tree -a > repo_tree.txt
:* Make sure that gitlog.txt and repo_tree.txt are not empty. Review and study the contents of gitlog.txt and repo_tree.txt
= Investigation 2 - Python on Matrix =
* The Python Interpreter understanding the Python language and this is why we are going to learn this programming language in this course.
* The Python Language supports both object-oriented programming and procedural programming paradigms.
In the Python programming environment, everything is treated as an object in both programming paradigms.
* The Python Interpreter supports two mode of operations: script mode and interactive mode.
* In interactive mode, the Python interpreter allows us to run python code one statement at a time. Currently, there are two major versions of the Python interpreter available on matrix.senecacollege.ca: version 2 and version3.
* To start an interactive Python version 3 shell, type "python3" at the command prompt.
== Task 1 - Setting up Python environment on Matrix for labs and assignments == === Part I - Python Versions on Matrix ===
:* You can access the Python Interpreter on Matrix from a Linux machine or a Windows 10 machine.
==== Login to matrix.senecacollege.ca from a CentOS 7 machine ====:* Login to matrix.senecacollege.ca with your Seneca user name.:* Login from CentOS Linux (host or vm) with your Seneca user name: <br /><br />[[image:centos_ssh.png|Ssh to matrix from Linux]]
==== Login to matrix.senecacollege.ca from a Windows 10 machine === =
:* Login to matrix.senecacollege.ca with your Seneca user name from Windows 10's run box.<br /><br />[[image:window10_ssh.png|ssh to matrix from Windows 10]]
= Explore Python versions on Matrix ====:* Once you are on matrix.senecacollege.ca, run the "python " command to start a Python version 2 interactive shell at the command prompt. The last line displayed should be ">>> ". ">>> " is referred to as the Python interactive shell prompt.
:** at the
">>> " prompt, type help('keywords') and record the output:** type exit() at the ">>> " prompt to exit from the Python interactive shell.:* Run the "python3 " command to start a Python version 3 interactive shell session at the command prompt.
:** at the
">>> " prompt, type help('keywords') and record the output
:** type exit() at the ">>>" prompt to exit from the Python interactive shell.
:* Compare the list of keywords for Python version 2 and version 3. Which keyword(s) is/are remove from version 2 in version 3?
=== Part II - Create directory structure for Labs and Assignments === ==== Create directory structure using BASH commands ====
:* Lets setup and reserve the following directories for storing and organizing files for labs and assignments. Execute the following commands at the command prompt:
==== Verify the directory structure created ====
:* Download the sample.py script from https://github.com/rayfreeping/ops435-lab1 repository to ~/ops435/lab1 directory
:* Study and Explore the sample.py python script and identify the following sections:
:** <source>python3 sample.py 2>/dev/null</source>
:** <source>python3 sample.py test 2>/dev/null </source>
= Task 2 - exploring and using Python's built-in functions == === Part I - Interactive (leaning) mode: using the Python Interactive Shell ===:* In this mode, you can instruct the Python Interpreter to execute python statement (or expression ) one at a time.
:* To start the Python version 3 Interactive shell, type the command <source>[raymond.chan@mtrx-node05pd lab1]$ python3</source> at the Linux command prompt.
:* You should get a startup message similar to the following:<source>
:* Please note that the prompt changed from '''>>>''' to '''help>'''. Try the suggestion and feel free to explore the interactive help utility. Simple press the '''Enter''' key to get out of the interactive help utility.
=== Part II - Script ( execution) mode: creating Python script === :* print () function
3 - exploring Python's built-in data objects ==:* integer object :* string object== Task 4 - exploring on how to get Python to do maths = =:* Math operators
=LAB 1 SIGN-OFF Upload the following files individually to Blackboard=
* gitlog.txt : contains the output of the command "git log" from Task 3: * repo_tree.txt: contains the output of the command " tree - a" from Task 3: * lab1_check.txt: contains the output of the command " python3 ./ checkLab1.py -f -v"
= Lab Review =
:# What is the name of the definitive branch in a git repository?
:# What is a "pull request" related to a branch in a git repository?