Course Syllabus Spring 2021

CS1331 Introduction to Object-Oriented Programming

Olufisayo Omojokun - [email protected]


Course Instructor

Olufisayo Omojokun

Email: [email protected]

Office Hours: By Appointment (I’m quite flexible)

Office Location: CoC 219


Course Time/Location

This class will be delivered asynchronously. You will have the flexibility to review the content: (a) at any time regardless of your time zone and/or geography; and (b) as many times as you wish until it sticks. If you think you might prefer a synchronous section, I strongly suggest exploring one of the A, B, C, or D sections before the end of week 1.


TA Info

(See Canvas Homepage)


Course Description

From Catalog: Introduction to the techniques and methods of object-oriented programming such as encapsulation, inheritance, and polymorphism. Emphasis on software development and individual programming skills.


Course Objectives

Introduction to object-oriented programming through the use of the Java language.

Experience with algorithms and GUI programming.

Introduction to data structures—both built-in and programmer-written in Java.


Prerequisites

A minimum grade of C in least one of the following: CS 1301, 1315, 1321, or 1371.


Course Materials

I do not require a textbook for the course. You are expected to review the Canvas modules, which also include regular knowledge checks (KCs) for you to complete and evaluate your understanding. KCs will not be counted in your grade and are solely there to help you determine whether to move on to the next topic or go back and repeat parts (or all) of a lesson.

On top of the online content that has been specifically created for this course, there’s a wealth of information on the web that can be found by searching.

If you wish to buy a book, however, here are a couple of books that I have suggested in the past:

Savitch & Mock, "Absolute Java" 6th edition.

ISBN-10: 0134041674

ISBN-13: 978-0134041674

Lewis & Loftus, “Java Software Solutions” 9th edition

ISBN-10: 9780134462028

ISBN-13: 978-0134462028

An eBook version of each of the above is likely available for purchase at a reduced price.


Grades and Grading Policy

A
  >= 90.00
B
  >= 80.00 and < 90.00
C
  >= 70.00 and < 80.00
D
  >= 60.00 and < 70.00
F
  < 60.00

15%
  Programming Homework (about one per week)
60%
  Test (3 worth 20%)
25%
  Final Exam (cumulative)


In addition to meeting these cutoffs, you must also have a passing average on the tests and final exam to pass the course. I will drop your lowest homework grade but advise you to attempt all as part of honing your skill and prepping for tests. I will also replace your lowest test grade with your final exam score if it is higher.


Due Dates, Late Work, and Missed Work

Homework turn-in is via Gradescope. Each assignment is due before 11:55 pm on the due date.


Please read the following carefully:

Non-compiling submissions are 0s. If the TA downloads your HW, tries to compile it, and errors are generated that prevent complete class files from being generated, it will be a 0. It is your responsibility to make sure you completely and successfully submit the proper files for your assignments turned into Canvas. Once you submit your HW files, we suggest that you download them into an empty folder and compile/run the HW to see if it works using your uploads alone. This will prevent issues like renaming valid ‘.java’ files or adding comments after testing from crashing compilation. On this note, make sure you even submit any files that we give you for the HW (e.g. images) unless the description says otherwise. Expect a final homework that will be due on the final instruction date of the class. I must explicitly state this according to paragraph C.1.c. here: http://catalog.gatech.edu/rules/12/


Exam Policy

All tests and the final will be delivered online using Canvas’ Quizzes feature (close-book and closed-notes). You will have between 12AM and 11:59PM (Atlanta Time) of a given exam day to complete it. Tests will be open for 50 minutes once you start and the final will be two hours and fifty minutes. Note that if you start a 50 minute test at 11:50PM, for example, you will only have 9 minutes to complete it. That is, the time will never extend beyond 11:59PM. One general piece of advice is to not start a test late at night.

You must have your BuzzCard on the table in front of you during exams. It is your responsibility to have your ID prior to beginning the exam.

All exams will be proctored using a tool called HonorLock. A webcam and internet connection is required. Do not attempt to take the exam if your webcam is not working. To avoid future glitches and test your setup, you will have a short 0 credit pretest before accessing the course content.

I reserve the right to change a grade at any time after discovering a violation in the test recordings. Additional policies to prevent dishonesty in test taking may also be introduced at any point in the semester.

Finally makeup exams will only be considered when the reason is approved by the Dean of Students. Makeup exams will not be the same version as given during the normally scheduled time.

Here are the proposed dates for tests and the final:

Test 1 - Wed February 10 (on L1-L9 content)

Test 2 - Wed March 3 (on L10-L12 content)

Test 3 – Wed March 31 (on L13-L16 content)

Final - Wed May 5 (cumulative, but will focus on material after test 3)

These dates are subject to change for the benefit of the course experience.


Class & Workshop Attendance

I have created a series of modules containing video-based programming demos, video-based slides, textual explanations, and a skit or two to promote your learning. As such, your success will depend on your ability to manage time and schedule your own sessions to review the modules. The benefit, however, is that you can watch/read the modules as many times as you wish. Homework assignments will also be mapped to their associated lessons.

You might notice that there is a once-a-week meeting time that is listed on OSCAR. That time represents the optional recitation in which the TAs will provide help and review concepts. While optional, it is strongly recommended that you attend.


Grade Contest

To contest any grade, you must submit an official regrade to the TAs within one week of the assignment's original return date. TAs will post the official regrade policy within the first couple of weeks.


Course Expectations

● Keep up with the content as it is released.

● Try the code from the online content and in-person lectures.

● Do your own homework and experiment with examples! Learning to program is like learning a sport. It takes actual practice and time to get comfortable with programming. The assignments that are given are opportunities to apply the concepts presented in the modules. Copying your friends HW will only expose your limitations during quizzes and exams. We will run similarity checking software on a number of the homeworks.

● Use TAs to help you learn.

● Be prepared when you go to get help from a TA or your instructor.

● Avoid waiting until the end of the semester to ask for help.

● Take initiative. Begin your assignments early and if you think you need help, come prepared. Use the resources that are provided for you, and be determined to succeed from the start.

● If you intend to use a Java construct that has not been introduced in the course at a given time of a homework or test release, make sure to get permission first. As creators of the assignments, we are aware of multiple paths to accomplishing a given task; however, such restrictions on what you can use are often made for pedagogical reasons.


Online Conduct and (N)etiquette

Communicating appropriately on an online learning platform can be challenging. In order to minimize this challenge, it is important to remember several points of “internet etiquette” that will smooth communication for both students and instructors:

● Read first, Write later. Read the ENTIRE set of posts/comments on a discussion board before posting your reply, in order to prevent repeating commentary or asking questions that have already been answered.

● Avoid language that may come across as strong or offensive. Language can be easily misinterpreted in written electronic communication. Review email and discussion board posts BEFORE submitting. Humor and sarcasm may be easily misinterpreted by your reader(s). Try to be as matter-of-fact and professional as possible.

● Follow the language rules of the Internet. Do not write using all capital letters, because it will appear as shouting. Also, the use of emoticons can be helpful when used to convey nonverbal feelings. ☺

● Consider the privacy of others. Ask permission prior to giving out a classmate's email address or other information.

● No inappropriate material. Do not forward virus warnings, chain letters, jokes, etc. to classmates or instructors. The sharing of pornographic material is forbidden.

NOTE: The instructor reserves the right to remove posts that are not collegial in nature and/or do not meet the Online Student Conduct and Etiquette guidelines listed above.


University Use of Electronic Email

A university-assigned student email account is the official university means of communication with all students at Georgia Institute of Technology. Students are responsible for all information sent to them via their university-assigned email account. If a student chooses to forward information in their university email account, he or she is responsible for all information, including attachments, sent to any other email account. To stay current with university information, students are expected to check their official university email account and other electronic communications on a frequent and consistent basis. Recognizing that some communications may be time-critical, the university recommends that electronic communications be checked minimally twice a week.

Finally, when sending an email to the instructor and/or TAs, be sure to use an informative email subject that includes CS1331 in the subject of the email! For example, Subject: CS1331 assignment 2 question. Definitely do not email saying "I'm in your CS class..."


Plagiarism & Academic Integrity

Georgia Tech aims to cultivate a community based on trust, academic integrity, and honor. Students are expected to act according to the highest ethical standards. All students enrolled at Georgia Tech, and all its campuses, are to perform their academic work according to standards set by faculty members, departments, schools and colleges of the university; and cheating and plagiarism constitute fraudulent misrepresentation for which no credit can be given and for which appropriate sanctions are warranted and will be applied. For information on Georgia Tech's Academic Honor Code, please visit http://www.catalog.gatech.edu/policies/honor-code/ or http://www.catalog.gatech.edu/rules/18/.

Any student suspected of cheating or plagiarizing on a quiz, exam, or assignment will be reported to the Office of Student Integrity, who will investigate the incident and identify the appropriate penalty for violations. You are prohibited from posting course materials including quizzes, exams, and projects on the Internet (including public Github). If any student copies your work that you had posted online, you will be considered as having committed plagiarism as well. Finally, note that Gradescope has similarity detection features, so avoid over-collaboration.

Furthermore, you are prohibited from posting course materials including exams and homework on the Internet (including public Github). Additionally, TAs will be monitoring "collaboration/help" sites (Chegg, CourseHero, groups, etc...) for violations.


Accommodations for Students with Disabilities

If you are a student with learning needs that require special accommodation, contact the Office of Disability Services at (404)894-2563 or http://disabilityservices.gatech.edu/, as soon as possible, to make an appointment to discuss your special needs and to obtain an accommodation letter. Please also email me as soon as possible in order to set up a time to discuss your learning needs.


Student-Faculty Expectations Agreement

At Georgia Tech, we believe that it is important to strive for an atmosphere of mutual respect, acknowledgement, and responsibility between faculty members and the student body. See http://www.catalog.gatech.edu/rules/22/ for an articulation of some basic expectations that you can have of me and that I have of you. In the end, simple respect for knowledge, hard work, and cordial interactions will help build the environment we seek. Therefore, I encourage you to remain committed to the ideals of Georgia Tech while in this class.


Subject to Change Statement

The syllabus and course schedule may be subject to change. It is the responsibility of students to check Piazza, email messages, and course announcements to stay current in their online courses.