Spring 2023 Syllabus [ARCHIVED]

  1. Catalog Description
  2. Topics and Learning Objectives
  3. Prerequisites
  4. Textbook
  5. Student Expectations
  6. Grading
  7. Tips to Succeed
  8. Code of Conduct
  9. List of Changes

Catalog Description

3 Credit Hours

Instruction mode: Face-to-face

An introduction to computational thinking and structured programming. Topics include problem solving and algorithm development with emphasis on conditional if/else statements, loop based iteration, and function calls. Students will also be given an overview of commonly used data structures such as arrays. Skills learned include designing a program to solving a problem, developing the algorithms needed, writing code to implement them, testing the code and correcting errors, as well as documenting how the code works.

Programming language we will use: Java.

Items or topics not covered in this syllabus are per UT policy or instructor’s discretion.


Topics and Learning Objectives

At the end of this course, students should be able to understand and/or perform the following.

Programming

  • Understand what components make up a computer.
  • Understand how computer components fit together to perform tasks.
  • Understand the physical and academic limitations to computing.
  • Understand how a program “flows” from beginning to end.
  • Understand how source code is compiled.
  • Understand the limitations of a programming language.

Input and Output

  • Be able to receive data from the user.
  • Be able to output data to the user.
  • Be able to open files for reading and/or writing.

Data Types and Operators

  • Understand and be able to perform arithmetic.
  • Understand and be able to use methods.
  • Understand and be able to use fields.

Problem Solving

  • Be able to take a word problem and write a program to solve it.
  • Understand the elements of problem solving.
  • Be able to use a semi-formal approach to designing a solution to a problem.

Debugging Techniques

  • Be able to understand why certain errors occur.
  • Understand compiler errors, run-time errors, and logic errors.
  • Be able to “debug” and fix certain errors.

Comments and Documentation

  • Understand what constitutes a “good” comment.
  • Understand how and why we document functions and classes.

Prerequisites

Students are assumed to have satisfactory knowledge of the following topics prior to taking this course.

  1. Be able to use Canvas.
  2. Have a NetID and email assigned by UT.
  3. Have and be able to use a personal laptop in class and at home.

Textbook

The lecture notes will contain most of the information a student will need for this course. However, an electronic textbook will be provided to students on Canvas via “inclusive access”.

Here is a list of recommended optional readings.

  • “Learn Java in one day, and learn it well” by Jamie Chan.
  • “Java: Programming Basics for Absolute Beginners” by Nathan Clark.
  • “Beginner Programming with Java” by Barry Burd.

Many books about Java will assume you already have a background in programming and just need to know Java specifically. Other books, like the ones recommended above, are “how to program” books using Java.


Student Expectations

  1. Students can expect to cover topics in class and work examples of programming. I generally will teach a topic, and then we will program something adjacent to the example in-class. Students should expect to write programs in class!
  2. Students must come to class prepared by reviewing the lecture slides, lecture notes, and/or lecture videos.
  3. Students must use the discussion system (e.g., Teams, Piazza, and so forth) to ask questions. Do not email the professor or TAs directly. Doing so could slow responses. We use a discussion system so that everyone that can help you can see your messages and the responses. This ensures you get the most accurate and timely information.
    • The discussion system being used and associated links will be on Canvas.
  4. Students must attend all classes in-person and submit all assignments.
    • Students who cannot attend class are still responsible for the material they missed.
      • Students may request a recorded version of the class. Not all classes can be recorded, so it is the responsibility of the student to coordinate with the instructor.
    • Students who suspect they have been in close contact or have COVID-19 must not attend class. Students must follow the guidance listed here: https://utk.edu/coronavirus.
    • If a student misses an exam, it will be considered unexcused until the student submits and absence request with the Dean of Students, and it is approved. Unexcused exams will not be eligible to be taken at a later time and will be graded 0.
  5. Students who require a disability accommodation for class or for exams must be approved by the Office of Student Disability Services (SDS): https://sds.utk.edu. Without an accommodation, students will not be provided with additional services or additional time on exams.
    • Every exam must be coordinated with SDS. All exams with accommodations must be taken at the SDS testing center.
  6. Students will need a Mac or Windows PC capable of loading the appropriate software. Students may (but are not required to) purchase laptop computers at the UT Volshop for a discount price at: https://www.utvolshop.com/shop-voltech/pcs?page=1.
    1. Students facing financial hardships may apply for emergency funding through the Dean of Students: https://dos.utk.edu/student-emergency-fund.
  7. Students are expected to spend at least double the number of credit hours outside of class studying, doing homework, or other work for this course every week. For more information, please see https://catalog.utk.edu (Academic Policies and Procedures) for more information.

Grading

  1. Some assignment categories will drop the lowest score(s). The number of drops and any exceptions are on Canvas under “Assignments”.
  2. Some assignments may be submitted late for a 15% per day penalty. Students must check Canvas for due dates as well as closing dates. Students may submit past the due date but not past the closing date.
  3. Grades are not rounded and are not curved. The cutoffs for letter grades are absolute.
    • Please do not ask for a grade “bump” to improve your GPA. This is not permitted per UT policy, and your request will be denied.

Exams

  • Four exams will be given throughout the semester.
  • All exams are weighted equally.
    • Only three exams will count.
    • The lowest exam score will drop.
    • Students who are happy with their midterm exam scores must not take the final exam.
  • Students must coordinate before missing an exam. Students who are absent must submit an absence request through the Dean of Students. If the absence request is approved, the student will be able to make-up the exam, or the exam may be excused depending on circumstances.
    • A student who does not prior coordinate to make up an exam will need to use one of their exam drops.

Grading Appeals

  • Students may appeal an assignment grade provided:
    • The appeal is made within 7 days of the grade being revealed.
    • The student must use the discussion system on Canvas (e.g., Piazza) and submit the justification to all professors and TAs.
    • Students must document their grievances and why the grade should be changed.
      • Appeals can only be made when an error has been made in graded.
      • Appeals can NOT be used for relief or an exception to policy.
    • Appeals with no or invalid justification will be denied.
  • An appeal will force a regrade of your work. Your old score will be deleted and NOT be considered when your work is regraded.
    • It is possible to get a lower score after a regrade.

Letter Grades

LetterScoreLetterScore
A93C75
A-90C-70
B+87D+67
B84D65
B-80D-60
C+77F0
Grading schema. Score is >=, so a 90 is an A- whereas an 89 is a B+, for example.

Tips To Succeed

  1. Try different forms of instruction. If you can’t learn from the textbook, try the lecture notes, or lecture. There are several forms that present the material. It may seem repetitive to you, but it is to offer you different avenues to learning the material.
  2. Review and update your lecture notes. Your notes should be an evolving process. You need to write them over in your own words after you understand them. Just like learning anything else, repetition is important to the learning process!
  3. Get help early. The instructors and TAs will hold regular office hours. The time goes by much easier when we have students to talk to. Even if you don’t have specific questions, come over to office hours and introduce yourself. You will see where we’re coming from and we can see where you’re coming from.
  4. Start early. For most (I’d dare say all) cases, if you’re late submitting an assignment, it will either suffer a penalty or not be accepted at all. This is the item where most students who struggle can get ahead. You reduce access to the TAs and instructors when you wait until the last minute to start your assignments.
  5. Do NOT cheat. No matter how many office hour sessions, discussion boards, and so forth that we make, we still get students who think they need to go to stackoverflow or Chegg and download “their” solution. Nothing will kill your grade faster than cheating. We have sophisticated tools that help us find and accuse cheating. Cheating will result in your permanent student record being flagged!
  6. Try outside help. The Student Success Center has tutoring and supplemental instruction. Their schedule changes every semester (and even sometimes during a semester). Here at EECS, the Systers group might be able to offer you help.
  7. Know what is required. I’ve seen several students earn a terrible score due to either not reading the assignment or not asking for clarification if a question arises. This essentially means the student is doing a different assignment. You will not be graded on what assignment you do, but instead, the assignment that is given to you.
    • In many cases, this course provides a narrative, hints/tips, and a rubric. Students must read and understand all different forms. If anything seemingly contradicts, a student should ask for clarification.

Code of Conduct

Cheating and Plagiarism

Students who are accused of cheating or plagiarism on any single assignment worth 5 points or more towards their final grade will receive an F for the course. Otherwise, students will receive a 0 for the assignment and a 10-point drop to his or her final grade.

The instructor and/or TAs are not investigation units. If there is contention about a cheating case, it will be investigated by the Office of Student Conduct: https://studentconduct.utk.edu. At that point, they will determine the outcome and sentence.

The SCCS policy is to not assign a final grade until a determination is made. If a student is alleged to have cheated and final grades are assigned before the matter has been resolved, a student will receive an NR (not reported) grade. This precludes students from taking any of the follow-on courses or from retaking this course.


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). Students may not use a tool to produce their lab submission, including but not limited to external sources, a disassembler, or a compiler.
  • SECTION 11.4 (STUDENT CODE OF CONDUCT). 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. Collaborating on a graded assignment without citing all collaborators.
    6. Submitting work, either in whole or partially created by a professional service or used without attribution (e.g., paper, speech, bibliography, or photograph).
  • SECTION 11.5 (STUDENT CODE OF CONDUCT). 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, including if that student is repeating the same 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

Tips to Avoid Cheating

  • Students are encouraged to work together provided the students cannot see each other’s code.
  • Students should work where their laptop screens are back-to-back. You can talk algorithms and logic, but not code.
  • Do not allow students to even peek at your code. If a student gets their hands on your code, both will be in violation of the plagiarism policy regardless of who actually wrote the code.
  • Google is a great tool; however, it is the primary way students cheat. They will find code on the internet and copy it as their own. Try using the lectures, notes, and videos given in the class.
  • ALWAYS cite who you worked with and where you got help, including any TA or instructor.

List of Changes

This syllabus is subject to change before, during, or after the semester. Any changes will be listed below sorted by descending date.

  • (9-Feb-2023) Update student code of conduct sections for plagiarism/cheating.
  • (5-Aug-2021) Initial release