Course Work

Online Format

COSC 505 is a hybrid class where all content and submissions will be online. Students can join the class time using teleconferencing via a software package called Zoom. The meeting software and ID will be announced prior to the start of the class time. Students are not penalized for missing meetings.

Workload Recommendation

This is a three credit hour course. As such, you should expect to spend 2 - 4 hours per week on lecture material and exercises and another 4 - 8 hours per week on lab assignments.

Students are encouraged NOT to take any courses in addition to COSC505. However, all decisions should be made with a student's advisor.

Python Interpreter

All students must have some form of Python interpreter to write their programs. Students must make sure that whatever they choose, it is version 3.6 or above.

Students may use the following:

  1. Python IDLE (Windows Store)
  2. Python IDLE (Windows Installer)
  3. Python IDLE (Mac Installer)
  4. repl.it

There is an interpreter on your ZyBooks, however it is version 3.3. We do not recommend using this interpreter, and students should exercise extreme caution when programming on ZyBooks.

Repl.it and Zybooks requires an Internet connection.

Python IDLE only requires an Internet connection for the initial download. Afterwards, and Internet connection is only required for labs that download information from the Internet.

Python Packages

Students must ensure they have the following Python packages available:

  1. numpy
  2. matplotlib
  3. pandas
  4. requests
  5. turtle
  6. tkinter

Students are encouraged to ask for help when installing packages, but a student may use PIP, which is documented here: https://docs.python.org/3/installing/index.html#installing-index.

Using the command line:

Windows: Start > run > cmd

Mac: Applications > Utilities > Terminal

python -m pip install numpy
python -m pip install matplotlib
python -m pip install pandas
python -m pip install requests

Students should not have to install turtle or tkinter, as they should be pre-installed with the Python distribution.

Graded Assignments

Dates

All graded assignments will begin at the start of the course. If a student adds a course late and misses an assignment, that student will receive a 0 for any missed assignments.

Due Dates

All due dates will be listed on Canvas. Students are encouraged to check the syllabus section for a complete, ordered list of due dates.

Late Policy

Students are permitted to submit lab and group assignments up to three (3) days late. Each day will be penalized by 11%.

All other types of assignments are not accepted late.

Lectures

Lectures are self-guided. The lectures are typically in the form of a lecture video and/or lecture slides.

Students will be asked several challenge questions in the form of a quiz for a varying amount of credit. The quiz questions typically come directly from the lectures and/or ZyBook.

Lecture quizzes will count towards a student's final grade. Students will only have one attempt per quiz.

Exercises

The ZyBook is linked on Canvas and is used as a student's textbook for this course. Several practice problems are assigned out of this textbook.

Students must link to the ZyBook through the assignment (e.g., Exercise 1). ZyBooks requires this link to assign your grade to Canvas.

Students may work on the exercises at different times as long as it is submitted before the due date. As soon as a student clicks "Submit to Canvas", the student's grade will be recorded. After the grade is recorded, ZyBooks will not allow subsequent attempts. Make sure you're finished with the assignment before clicking "Submit to Canvas".

Labs

Labs are intended to evaluate a student's understanding of the course material and evaluate their ability to transfer their theoretical knowledge into a practical solution.

Labs are typically hand-graded by the teaching assistant(s) (TA).

Labs must be interpreted correctly by the Python interpreter and must be testable. Comments must document the logic of a student's code, including the student's name, a brief synopsis of the lab, and their logic inline.

# lab1.py
# This program is designed to calculate the area of a rectangle.
# Stephen Marz
# 03-May-2019

# First, we need the width and height as integers
width = int(input("Enter the width: "))
height = int(input("Enter the height: "))

# Now that we have the width and height, output the area
# by using the formula A = w*h
print("The area of the rectangle =", width * height)

You can see that the comments do not document the Python code itself (assume we know Python). Instead, it documents the logic (or flow) of your code. Essentially, if I left all of your comments and removed all of the Python code, I should still be able to understand the logic (the what and why) of your code.

Lab Solutions

Students will be furnished with lab solutions after the grading window closes.

Submissions

Students must use Canvas to submit all assignments. Please watch this video for a tutorial on how to submit your labs to Canvas. Unless otherwise noted, all submissions must function properly on Python 3.6 or above.

Diligence

Students must ensure that what they submit is what they intended to submit. Students are encouraged to double check their submission.

Recency

Only a student's latest submission will be graded. All other previous submissions will not be considered for any reason.

Group Projects

Students will be assigned groups of three or four and accomplish projects.

The projects are a less guided lab. The projects are intended to supply the student with a problem, which must be solved by using the tools and the best techniques they have learned in the course.

Regrades

Students may request a regrade by submitting a request to all instructors through Piazza.

Students must make this request within ten (10) days of receiving the grade that they wish to appeal. Any appeals outside of this window will be denied, and the original grade will stand.


Stephen Marz (20190531)