Fall 2021 Syllabus [OLD]

  1. Catalog Description
  2. Topics and Learning Objectives
  3. Prerequisites
  4. Textbook
  5. Assignment Categories
  6. Student Expectations
  7. Grading
  8. Tips to Succeed
  9. Code of Conduct
  10. 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.


  • 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.


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.


The lecture notes will contain most of the information a student will need for this course. However, an electronic textbook in PDF form will be provided to students on Canvas.

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.

Assignment Categories

Students will be evaluated on the following assignment categories. The weight of each category will be listed on Canvas. Information about assignments, including due dates, will be listed on Canvas.

  • Participation – used to ensure students participate in class.
  • Homework – used to reiterate concepts learned in class.
  • Programs – used to help students solve problems by developing programs.
  • Exams – exams are used to ensure students understand and can demonstrate concepts regarding the course material.

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.
    • Clicker questions will be asked throughout the semester. Students who are forced to miss class for ANY reason, including quarantine, broken car, hospitalization, and so forth will receive a 0 for the clicker questions they miss.
      • All students will receive drops to their lowest clicker questions to accommodate anyone who needs to miss class for any reason, including COVID. These drops are no-questions-asked and will be granted to all students even if no clickers were missed. Students must check Canvas > Assignments for the exact number of drops and for any “exceptions” to this policy.
      • The instructor may negotiate a different policy should a case not handled in this section be encountered.
  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.


  1. Some assignments may be submitted early for additional points. Students must check the assignment for more information.
  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. Students must coordinate before missing an exam.
  4. Students who score less than 70% in any assignment category (average of all assignments under the category), such as exams, projects, or homework, will be assigned the next lower letter grade. For example, a student who earns a C, but scores a 69% on the homework category will be assigned a C-.
  5. Grades are not rounded and are not curved. Extra credit may be available to help boost a student’s grade.

Grading Appeals

  • Students can appeal an assignment grade provided:
    • The appeal is made within 7 days of the grade being revealed.
    • The student writes his or her intentions in the discussion system to all professors and TAs.
    • Students must document their grievances and why the grade should be changed.

Letter Grades

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.

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 10.4 FROM HILLTOPICS. 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 10.5 FROM HILLTOPICS. 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.

  • (5-Aug-2021) Initial release