SYLLABUS EFFECTIVE: Spring 2021

Contents

  1. Course Description
  2. General Information
  3. Prerequisites
  4. Office Hours
  5. Course Work
  6. Code of Conduct
  7. Grades
  8. Learning Objectives
  9. List of Topics
  10. Summary of Changes

I. Course Description

3 Credit Hours

An introduction to the thought processes of computer science and the art of programming. Topics include learning to think algorithmically, and solve problems efficiently, using a high-level programming language and a variety of software tools and technologies. Skills learned include designing programs to solve problems, developing the algorithms needed, using abstractions, data structures and encapsulation, writing code to implement algorithms, testing the code for errors, and documenting the process and the outcome. This course welcomes students with limited or no programming experience.

Online Course Design

This course will be provided to you in an paced, asynchronous fashion, meaning that the course materials will be provided to you each week. You will be paced in this course, meaning that each week, your assignments, topics, and lecture material will be opened. This will come as one of or a combination of: lecture notes, textbook chapters, online documentation, and video lectures. NOTE: In this paced systems, students will not be able to work ahead on their assignments, however, students may look over the relevant textbook chapters or lecture notes. The pacing system is to ensure that all students do not forget something until it is too late.

You will be required to complete certain assignments before the due date. All due dates and submission windows will be available under the Syllabus tab on Canvas.

II. General Information

  1. Purpose. This syllabus describes the COSC111 course, policies, and procedures. This syllabus is mandatory for all students enrolled in this course.
    1. Scope. This syllabus applies to all students enrolled in the course at the Min H. Kao Department of Electrical Engineering and Computer Science (http://www.eecs.utk.edu) of the Tickle College of Engineering (http://tickle.utk.edu) of the University of Tennessee (http://www.utk.edu).
    2. Amendments. Amendments may be made to this syllabus with or without notification; therefore, do NOT save this syllabus. Instead, retrieve it from this website for the most current version.
    3. Exceptions. Topics, office hours, and TAs may be updated without additional approval this syllabus.
    4. Current Version. The most current version of this syllabus may be retrieved from: http://tiny.utk.edu/cosc111.
    5. Key Words.
      1. "Will", "must", and "shall" indicate a mandatory requirement.
      2. "Should" is used to indicate a preferred, but not mandatory, method.
      3. "May" indicates an acceptable or suggested means.
      4. “UTK” is short for the “University of Tennessee at Knoxville”.
      5. “TBD” is short for “To Be Determined”.
      6. “IAW” is short for “In Accordance With”.
    6. Learning Management System. All students will be required to use Canvas as the learning management system. The current link to Canvas can be found at: https://tiny.utk.edu/canvas_cosc111.
    7. Calendar. The Canvas calendar will be used to notify any class cancellations for any purpose, including holidays. Students will be required to frequently check their Canvas calendar for due dates and class dates.
    8. Times and Dates. All times and dates, including due dates, will use the Eastern Time Zone and will observe spring and fall time changes (EST and EDT). Furthermore, all times will use a 24-hour clock (e.g., 1100 = 11:00am, 1200 = 12:00pm, 1500 = 3:00pm, 1800 = 6:00pm, 2200 = 10:00pm, etc.).
    9. Student Information and Accommodations. All student information will be kept confidential in accordance with the Family Educational Rights and Privacy Act of 1974 (FERPA). More information may be found at: https://ferpa.utk.edu.
    10. FERPA Waiver. Students may waive some or all their FERPA rights, typically in cases such as letters of recommendations. Students must complete and sign a FERPA form before any FERPA-related information is released.
      1. Disclosure. All student information is covered under FERPA and will not be disclosed to anyone, including students' parents. FERPA information necessary for this course is retrievable by the professors, undergraduate teaching assistants, and graduate teaching assistants.
    11. Disability. Any students who have disabilities may register with the Office of Student Disability Services (SDS) for a range of accommodations. No accommodations will be made without prior approval from SDS.
      1. SDS Website. More information about SDS may be found at: https://sds.utk.edu.
    12. While compliance with this syllabus is mandatory, the following exceptions to policy may be made given:
      1. All exception to policy rules must be in writing (unless otherwise noted), or
      2. Exceptions to policy rules must be made at the department head level, or
      3. Any illness, injury, death in the family, and so forth requires an "absence request" from the Dean of Students (https://dos.utk.edu).
      4. For unusual circumstances, the professor or instructor may deviate from this syllabus on a case-by-case basis.
      5. TAs and other representatives of this course may suggest deviations, but they are not permitted to approve deviations and must comply above.
    13. Teaching Assistants (TA). Teaching assistants are representatives of the professors. They have full access to all student information, including grades. Teaching assistants may be undergraduate (UTA) or graduate students (GTA), or both.
    14. Supplemental Instructors (SI). Supplemental instructors from the student success center are not official representatives of the course.
      1. Students will not consider any instruction or suggestion to be official from any supplemental instructor.
      2. Supplemental instructors must not make any deviations to this syllabus.
      3. Information about the SI program is available at: https://studentsuccess.utk.edu/supplemental-instruction/what-is-supplemental-instruction.
    15. Contacts. Electronic communications will be made to the professor and teaching assistants through Teams. A link is provided on Canvas to connect to Microsoft Teams. Teams will be closed after the last day of class. Students will be able to read archived posts, but will be unable to make additional posts.
      1. Email Correspondence. For most purposes, do NOT email a teaching assistant of professor directly. These emails are likely to be ignored.
    16. Letters of Recommendations. Letters of recommendations will generally not be written. Exceptions to this policy may be made by the professor on a case-by-case basis.
      1. FERPA Requirements. Any letter of recommendation written must have a FERPA waiver on file with the professor writing the letter.

III. Prerequisites

  1. General. Students should have the following prior knowledge before registering for this course. Some resources may be available for students to “catch-up” should they not understand all the following topics.
  2. Knowledge. Students are not expected to have any prior programming experience.
  3. Computer Usage. Students must be able to use a computer to take online assignments and submit work.
  4. Canvas. Students should be able to navigate the Canvas LMS and be able to upload assignments and take assignments online.

IV. Office Hours

  1. Office Hours. The teaching assistant(s) will hold regular office hours to assist students with the course material and with their lab assignments.
    1. Information. Information including times and locations will be posted to Canvas.
    2. Online Help. All office hours will be provided online using Zoom or other meeting software.
    3. Rules for Help. The teaching assistants have been instructed NOT to give answers but try to lead you to answers or show you where the information can be found. The teaching assistants may point you to a place to read information rather than tell you the information outright.

V. Course Work

  1. Textbooks. Students will use an online textbook provided by Zybooks. The textbook will be accessible through Canvas.
  2. Assignments. Students will be assigned and graded based on a variety of assignments.
    1. Submissions. All assignments will be submitted to Canvas or to the electronic Zybook textbook. Submissions sent via Teams or email to a professor or teaching assistant will be ignored.
    2. Homework. Students will complete homework assigned on Canvas.
    3. Labs. Weekly labs will be assigned on Canvas. All submissions must be made through Canvas via the Zybooks labs. Labs will test concepts of Python. Labs are designed to help students learn the Python language itself.
    4. Algorithm Development. Algorithm development problems are much like labs except that they stress algorithm development. Students will be presented with a math, science, or engineering problem. Students will then need to develop the proper Python program to solve the practice problem.
  3. Submission. Students must submit their labs and algorithm development problems using Zybooks.
    1. Diligence. Students must check their submission to ensure it is the correct submission and that it properly submitted. NO EXCEPTIONS will be made for incorrect submissions.
    2. Recency. Only your latest submission will be graded. If you previously submitted your lab prior to the due date and subsequently submitted past the due date, the lab submitted past the due date will be graded and subject to late penalties.
    3. Comments. Students may make comments on their submission; however, these have no bearing on the students’ grading. Graders are NOT given notification when a student makes a comment. Therefore, students will not make comments after the assignment has been graded.
    4. Lab Solutions. Lab solutions will not be distributed. See your teaching assistant for questions about any of your lab submissions.
    5. Grading. Labs will be graded automatically by Zybooks. Students must make sure that they read and understand the lab before creating the solution. Since labs are automatically graded, students must ensure they meet all requirements to pass the automatic tests.
    6. Testing. Labs will be tested by one of two ways: (1) output matching--the test case will run the solution code and compare the output to that of yours. Your output must match exactly to receive credit for a given test case. (2) unit tests will run a Python program behind the scenes which will call one or more of your Python functions in your source code. Students must make sure that they name all functions properly and that the function performs the expected operation to receive full credit.
    7. Test Cases. Several test cases will be tested as explained above. All test cases are all-or-nothing grading, but the number of test cases allows for students to receive partial credit.
  4. Exams. Exams will not be given in this course. All totality of a student's work, including discussions, homework, labs, and algorithm development problems will be used to assess a student's success in this course.
  5. Due Dates. All due dates will be listed on Canvas.
    1. Diligence. Students are responsible to check Canvas regularly for any due dates.
    2. Late Policy. Students may submit most assignments late. Some assignments cannot be submitted late. Students must check Canvas for all late policies on individual assignments.
    3. Penalty. Students will be penalized 7% per day that an assignment is late. This penalty is automatically applied by Canvas.
  6. Grading.
    1. Weights. The weight of each grading category is listed on Canvas under “Syllabus”.
    2. Homework. Homework is automatically graded by Canvas.
    3. Labs. Teaching assistant(s) will typically grade lab submissions.
      1. Comments and Formatting. All student lab submissions must be properly formatted and commented, including a commented header which includes the student’s name, date, and a summary of the lab.
      2. Compiling Requirement. Unless otherwise noted, all labs that do not compile on the EECS-IT lab machines (i.e., Tesla, Hydra, and Arc lab machines) using the given compiling commands will be graded 0.
        1. Compiling Appeals. Students will not appeal a 0-grade due to compiling problems.
      3. Bypassing Matching. Students who attempt to gain credit by manipulating their code to pass a test case will not receive credit for the assignment, regardless of the number of test cases the student properly solved. Bypassing the code testing system is considered cheating under this policy.
        1. Examples. Students using an if statement or any other type of specific statement that outputs a special case for a given test case.
          1. if filename == 'testcase1.txt': print("This is the solution to this test case.")
          2. if input == "this is test case": print("Solution to test case.")
    4. Appeals. Students may appeal the grade they received on any assignment.
    5. Appeal Procedure. Students must use Teams and put in writing their intention to appeal a grade. The Teams message must be sent to all "Instructors" (@ta).
      1. Timeliness. Appeals must be made within five (5) calendar days of receiving the grade.
      2. Regrading. A TA may regrade a student’s work without regard to their previous grade. Therefore, the student may receive a lower grade after an appeal.
    6. Grade Curving. Grades will not be curved or rounded. Grades will not be "bumped" to another grade level no matter how close it is.
    7. Extra Credit. Opportunities may be given to earn extra credit.
      1. End of Course Survey. An end of course survey will be offered. This course survey will permit a student to earn extra points towards their final grade. This is used in lieu of curving and rounding grades.
        1. Survey Credit. The amount of extra credit given for the end of course survey will be indicated on Canvas.
  7. Workload Recommendation. COSC111 is an online, introductory course. There will be homework, readings, and labs due each week.
  8. Official University Appeal. A student may appeal their final grade with the University of Tennessee. The procedures for doing so are outlined at: http://catalog.utk.edu/content.php?catoid=24&navoid=3078#grad_appe_proc

VI. Code of Conduct

  1. Honor Statement. Students will conduct themselves according to the University of Tennessee Hilltopics Honor Statement, which may be viewed at: http://catalog.utk.edu/content.php?catoid=24&navoid=3078#hono_stat.
  2. Behavior. Any student who exhibits inappropriate behavior may be admonished immediately and/or referred to student conduct (see section 1.3.4.5 below). Continued inappropriate behavior may involve the University of Tennessee Police Department (UTPD).
  3. Plagiarism and Cheating. Any student who is suspected of plagiarism and/or cheating will receive a penalty for doing so. The student will not be notified in advanced at the penalty or that they were suspected of violating the plagiarism and/or cheating policy. Instead, it is the student’s responsibility for contacting their professor.
  4. Examples of Cheating. Plagiarism and cheating may result from a student copying an assignment or sections of an assignment from another student, from an online source, or from the student’s own previous assignment (from a previous attempt at the course).
    1. Defeating the Code Tester. Students who intentionally manipulate the matching system that tests their code to receive credit for a test case will violate the policy against cheating. See section V.6.3.3.1.
  5. Examples from Student Code of Conduct. The student code of conduct lays out what a student may consider violating this plagiarism/cheating policy.
    1. SECTION 10.4. Plagiarism is using the intellectual property or product of someone else without giving proper credit. The undocumented use of someone else’s words or ideas in any medium of communication (unless such information is recognized as common knowledge) is a serious offense, subject to disciplinary action that may include failure in a course and/or dismissal from the University. Specific examples of plagiarism include, but are not limited to:
      1. Using without proper documentation (quotation marks and citation) written or spoken words, phrases, or sentences from any source.
      2. Summarizing without proper documentation (usually a citation) ideas from another source (unless such information is recognized as common knowledge).
      3. Borrowing facts, statistics, graphs, pictorial representations, or phrases without acknowledging the source (unless such information is recognized as common knowledge).
      4. Collaborating on a graded assignment without the instructor’s approval.
      5. Submitting work, either in whole or partially created by a professional service or used without attribution (e.g., paper, speech, bibliography, or photograph).
    2. SECTION 10.5. Specific examples of other types of academic dishonesty include, but are not limited to:
      1. Providing or receiving unauthorized information during an examination or academic assignment, or the possession and/or use of unauthorized materials during an examination or academic assignment.
      2. Providing or receiving unauthorized assistance in connection with laboratory work, field work, scholarship, or another academic assignment.
      3. Falsifying, fabricating, or misrepresenting data, laboratory results, research results, citations, or other information in connection with an academic assignment.
      4. Serving as, or enlisting the assistance of, a substitute for a student in the taking of an examination or the performance of an academic assignment.
      5. Altering grades, answers, or marks in an effort to change the earned grade or credit.
      6. Submitting without authorization the same assignment for credit in more than one course.
      7. Forging the signature of another or allowing forgery by another on any class or University-related document such as a class roll or drop/add sheet.
      8. Gaining an objectively unfair academic advantage by failing to observe the expressed procedures or instructions relating to an exam or academic assignment.
      9. Engaging in an activity that unfairly places another student at a disadvantage, such as taking, hiding, or altering resource material, or manipulating a grading system
    3. Working Together. Students are encouraged to work together, however this increases the risk of plagiarism and/or cheating. Students are cautioned to make sure that when they work together that their code cannot be seen by another student. We recommend that students work together by placing their laptops back to back. With this method, students may discuss topics, but the code they write is purely their own.
      1. Citation. Always cite any professor, teaching assistant, or another student with whom you discussed the work with. Even if you cannot see another student’s code, the chances of parallel thinking are increased. When you cite whom you worked with, we can understand where your lab may look like another.
      2. Parallel Thinking. Citations do NOT preclude you from abiding by the plagiarism/cheating policy. Even if you cite your source, you may still not copy code in portions or entirety.
  6. Penalties. The professors and teaching assistants are not investigation units. Therefore, anyone found in violation of the plagiarism policy will receive the same penalty regardless of who originated the content.
    1. Labs/Homework. Students will receive a 0 for the lab or homework and a ten (10) point drop on their final grade. This will appear as a “Plagiarism” column on Canvas. Essentially, it removes exam points to achieve a 10-point drop on the student’s final grade.
    2. Repeated Violations. Repeated violations of the plagiarism or cheating policy will result in a 0 for the course.
    3. Exams. Any suspected plagiarism and/or cheating on an exam will result in a 0 for the course.
    4. Stolen Work. If an allegation of theft is made, the theft will immediately be reported to student conduct for an investigation.
    5. Extended Scrutiny. After a student has been flagged for potential plagiarism, all other works will be more closely scrutinized for plagiarism, past and present. Students will note that if they have not been caught for plagiarism, it doesn’t mean it’s not plagiarism. Therefore, if a previous work was plagiarized, the student or students responsible will be held to account for multiple violations of the plagiarism policy.
  7. Referrals. The professors and teaching assistants reserve the right to refer any student behavior to student conduct regardless of previous incidents, or lack thereof. More information about referrals and student conduct may be found at: https://studentconduct.utk.edu

VII. Grades

  1. Grade Adjustments. Certain aspects may change a student's letter grade, such as plagiarism, cheating, or failing categories. For example, a student might have an 85 and expect a B-ranged grade, but if they fail a graded category, they might get a C-ranged grade.
  2. Letter Grades. Letter grades will follow the table below.
LetterScore
A93
A-90
B+87
B83
B-80
C+77
C73
C-70
D+67
D63
D-60
F0

VIII. Learning Objectives

At the conclusion of this course, successful students should be able to accomplish or understand the following:

Basic Computer Skills

  • Understand how you can write your own source code file.
  • Be able to locate your source code files.
  • Understand what files are and how to find and edit your files.
  • Be able to navigate to Canvas to submit lab assignments.

Understanding a Program

  • Understand the basic format of a program.
  • Be able to explain in plain language what a program does.

Python Programming

  • Understand how to start a Python program.
  • Be able to write a Python source program with no templates.
  • Be able to explain and understand the syntax and semantics of a Python program.
  • Be able to run a Python program using a Python interpreter.
  • Understand and be able to use basic Python data structures, such as a list and a dictionary.

Solving Problems with Programming

  • Be able to write a Python program that solves a given word problem.
  • Understand how to extract elements of a word problem and convert it into a Python solution.
  • Understand basic run-time and memory footprint considerations.
  • Understand basic techniques to develop an algorithm.
  • Students will be presented with simplified scientific, mathematical, or engineering problems to solve using Python.

IX. List of Topics

  • Your Computer
    • Loading Python 3 Interpreter
    • Navigating your files
    • Using an Integrated Development Environment (IDE)
  • Python 3
    • Variables
    • Lists and Dictionaries
    • Conditions
    • Loops
    • Functions
    • Reading and writing Files
    • Exceptions
    • Classes
  • Programming
    • Using libraries (imports)
    • Solving problems using Python
    • Maintaining code
    • Commenting your code
    • Making your code readable

X. Summary of Changes

  1. 1-Jan-2021: Initial release.