Syllabus
a document that communicates information about a specific course and defines expectations and responsibilities. (see Wikipedia:Syllabus)
Syllabus Contents
Course Description Course Mechanics Course Policies
Pre-Requisites Asynchronous Lecture Videos Credits / Contact Hours
Teaching Staff home Synchronous Zoom Lectures Evaluation and Grading
Textbook Labs Academic Honesty and Collaboration
Course Goals / Learning Objectives Homework Assignments Dealing with Stress
Relationship with ABET Final Project Dealing with Covid-19
Tests and Exams Gender Pronouns
Office Hours
Piazza Class Chats

Course Description

CS-140, Programming with Objects, provides the foundations of software development using Java and the data structures provided by Java. Problem solving using object-oriented programming techniques is emphasized. Topics include primitive and reference data types, variables, expressions, assignment, functions/methods, parameters, selection, iteration, recursion, exception handling, generic linear data structures, trees and maps, file types, file I/O, simple GUIs, programming to an interface, use of inheritance, Javadoc documentation, and introduction to Java streams and threads. Required laboratory provides supervised problem solving, programming using the command line as well as Eclipse or Netbeans development environments, code backup in a version control repository, debugging and JUnit testing techniques.

arrow_circle_up

Pre-Requisites

arrow_circle_up

Textbook

Note... in previous semesters, this course used Big Java Early Objects, 6th Edition by Cay Horstmann, John Wiley and Sons (2015), and there are still references to this text in the lecture videos if you want to borrow or buy a traditional textbook and follow along.

arrow_circle_up

Course Goals / Learning Objectives

Upon completion of this course students will understand and be proficient in the use and application of:

In addition, students will see an introduction to:

arrow_circle_up

Relationship with ABET

The Computer Science Undergraduate program at Binghamton University is accredited by the ABET accreditation organization. (A.B.E.T. originally stood for Accreditation Board for Engineering and Technology, but their role has expanded, so now they are known as "ABET".)

ABET requires that the computer science program meets several goals. This course is designed to satisfy two of those goals, specifically:

arrow_circle_up

Course Mechanics

The lectures for this course will be delivered using on-line video. supplemented by two required and one optional Zoom meeting per week, and a one-hour and twenty-five minute lab session via Zoom every week. There will also be weekly homework assignments, two on-line tests, and a final project, all described in more detail below.

Asynchronous Lecture Videos

Most of the lecture content for this class will be delivered using on-line video. The lecture videos will be posted on the Video Lectures link from the class web page as they become available. Students are expected to watch these videos and understand the material before the due date for the lectures posted on the Video Lectures class web page. Lectures will reference relevant sections of the on-line textbook, and students are expected to understand the textbook description of the lecture concepts as well as the lecture material itself. Comprehension of the lecture material will be evaluated using pop quizzes during the synchronous Zoom meetings that will count towards your participation grade.

The lectures web page will include links to material associated with each lecture as well as the link to the video itself. This material will include:

arrow_circle_up

Synchronous Zoom Lectures

Synchronous lectures will be held on Monday, Wednesday, and Friday, for one hour. These Zoom are designed to be highly interactive, driven by student input. They will include live demonstrations of problem solving and coding example problems related to the video lectures due for the week. Attendance is required for the Monday and Wednesday Zoom meetings. Attendance will be recorded using Zoom statistics. If you cannot attend a Zoom lecture, you may be excused from the lecture by sending an e-mail to me (tbartens@binghamton.edu) before the Zoom lecture starts.

The Monday and Wednesday Zoom meeting time may be used for on-line tests during the semester, and may also include unannounced (pop) quizzes. The quizzes will be very simple, related to the lecture material due for the week as well as the material covered in the meeting itself, and will count towards your participation grade. If you are not in the Zoom meeting, and have been excused by sending an email to me, the quiz will not count in your grade. If you are not excused, you will get a zero on the quiz, and no "make-up"s will be allowed.

The Friday Zoom meeting is optional, intended to spend extra time on topics that may not be of general interest to the entire class, review material that is not clear to students, and investigate tangential topics. Attendance at the optional Friday Zoom meeting will improve your participation grade, but it will not detract from your participation grade if you are not there.

All Synchronous Zoom lectures will be recorded, and the recording will be posted on the class web page when it becomes available, and will be available until the end of the course.

arrow_circle_up

Labs

Labs will consist of assignments given at the start of the lab period to be done in groups during the lab period itself. The professor or TA will assign lab groups of one, two, or three students at the beginning of each lab section.

There are two in-person lab sections. If you are in an in-person lab section, your attendance is required at the lab itself (COVID permitting). TA's will assign lab groups of two or three students to work on the lab together. Working in a group is recommended, but if you would rather not work in a group, please notify the TA at the beginning of the lab, and the TA will assign you to a single-student group.

In the in-person labs, regardless of vaccination status, everyone must wear a face covering that completely covers both the nose and mouth tightly at all times in the classroom, and maintain 6-foot spacing in classroom seating. A face shield is not an acceptable substitute. If you forget your face covering or it does not meet these requirements, you will be asked to leave the room immediately. You may not return until you meet the requirement.

If a student does not comply with the requirements and refuses to wear a face covering properly or to leave the classroom when directed, the instructor or TA will immediately cancel the remainder of the lab session and inform the dean’s office, which will work with the Student Records office to issue a failing grade (“F”) for the course regardless of when in the semester the incident occurs. The dean’s office will also inform the Office of Student Conduct. If a student’s refusal to comply is a second offence, the Office of Student Conduct may recommend dismissal from the University.

If students become ill or are asked to go into quarantine/isolation, they are not allowed to attend in-person lab sessions. They should immediately notify the instructor and plan to participate online if they are able to do so while following instructions from health providers and/or health authorities.

The on-line Lab sections will be delivered via Zoom. Each lab group will have its own Zoom break-out room. Groups should choose a "scribe" to share his screen, and type the code required for the lab. All students in the group should participate in deciding how to solve the lab and determine what the code should do, as well as testing and debugging the code. The professor or teaching assistant will rotate from group to group to answer questions, give advice, and make suggestions.

For both in-person and on-line lab sections, the groups will submit a single result to myCourses at the end of the lab period, and the results will be graded. All students in the same group will receive the same grade. Teams will be shuffled during the semester so you won't be working with the same partners for each lab.

The No Lurking Rule If the professor or TA decide that any individual student is not participating in the group discussions, sharing ideas and suggestions, or responding to questions from either students or the teaching staff, then that student will get put in their own lab group with no other teammates for the next lab.

Single member teams will be expected to be able to complete the lab, and explain what is going on to the teaching staff. Part of the reason for team labs is to allow each student to demonstrate that they understand the concepts of the lab, and are not just copying other work.

Any lab work done outside of the designated lab period may be submitted individually, and will still be evaluated, but will receive a 10% grade penalty. This should give incentive to do the lab work during the lab period.

You can keep track of labs using the Lab Information class web page link. This page will contain the date, topic, and after the lab due date, the Professor will post his solution to the lab after all students have submitted a solution.

arrow_circle_up

Homework Assignments

Homework will be assigned on the Assignments class web page link. Homework will consist of programming assignments approximately once a week. Homework should be done individually, and the results will be turned in on myCourses.

You may (and are encouraged to) seek help from others, including the instructor, TAs, and classmates. Help includes assistance with:

Get TA or instructor help with:

Obvious violations of the principles of academic honesty include, but are not limited to:

arrow_circle_up

Final Project

Many of the labs throughout the semster will be devoted to developing a simple computer hardware simulator. This simulator will develop in complexity as the semester progresses, and as we learn more Java constructs.

At the end of the semester, lab and homework assignments will be replaced by work on a final project. The final project will contain significant programming work, using the concepts we cover in the course. Final projects may be worked on by teams of two or three students, but larger teams will be expected to produce more and better content. For the final project, students are allowed to choose their own teams.

arrow_circle_up

Tests and Exams

There will be two hour-long tests, one two-hour final exam, and one five-minute oral exam in this course. The first test will cover the first third of the course, the second test will cover the second third, and the final exam and the oral exam will cover the entire course (all three thirds.)

Tests and written Exams will be administered on-line using myCourses/GradeScope. The test or exam link will be available only during the times published for the test. There will be a time limit on the test, which will start when you open the test. If you have finished the test before the time limit is up, you may submit your results to GradeScope using the "submit" button. If you have not completed the test when the time limit is up, GradeScope will save whatever you have completed so far, and submit the test for you.

Tests will consist of several different kinds of questions, such as true/false questions, fill in the blank questions, multiple choice questions, multiple answer questions (multiple choice with possibly several correct answers), short answer questions, and short essay questions (typically one or two sentence answers.)

Unless otherwise indicated, tests will be open book, open notes, and you may look up answers on the internet. You may search the internet for any material that is available before the test starts, a "passive" interent search. "Active" internet searches include any attempt to request answers for a specific question while the test is being administered. Active internet searches are strictly forbidden. You are also not allowed to communicate with other students during the tests.

Any text that is cut and pasted must include an indication that the text is a quote, including citation of the source. Failure to do so will result in a zero grade. Furthermore, it is expected that direct quotations will make up a very small percentage of the total answer. Most of the answer must be original.

The oral exam will be conducted one on one with the professor and consist of interview-like questions to ensure that you have grasped the basic material in the class, and ensure that the answers on tests and homework are your own answers.

arrow_circle_up

Office Hours

One of the most important features of this class is the opportunity to participate in one-on-one discussions with the professor and the TA's. Our job is to make you successful, and office hours are a great way to get help. Office hours will be available at specific times, as posted on the Class Web Page. During those times, link to the Zoom meeting specified on the class web page to talk directly with the Professor or a TA. No appointment is required, and students will be handled on a first-come / first-served basis. The office hours Zoom meetings will have a waiting room to allow the Professor to finish helping another student before admitting you to the meeting itself. If you want to meet as a group, let us know, and we can admit several students to the meeting at once.

Outside of normal office hours, one-on-one meetings can still be scheduled by sending an email to the Professor or TA. Then, we can agree on a time that's good for both of us, and the Professor or TA can initiate the normal Zoom office hours link.

arrow_circle_up

Piazza Class Chat

This course will make use of a "Piazza" web page to enable on-line discussions of the course material. The professor will set up the Piazza web page, and enable students to register to get access to the page. The Piazza page will have several folders: one for each assignment, and lab. Students may post questions, answers, or comments in any of those folders. The professor and TA's will be monitoring the Piazza pages, and providing answers to the questions, as well as general comments and suggestions.

Students are encouraged to ask public questions (you may do so anonymously if you wish), provide answers and comments on other students questions and comments, and to read and understand posts made by the professor and TA's. A digest of updates is mailed to all students periodically, so it should be easy to keep up to date. Information that appears in Piazza posts will appear on tests and exams, and suggestions provided using Piazza will be taken into account when grading labs, assignments, and the final project.

arrow_circle_up

Course Policies

Credits / Contact Hours

This course is worth 4 credits. As announced by the Faculty Senate, Binghamton University expects a minimum of 12.5 hours per week of student effort for a 4-credit course. Of these 12.5 hours, 1 is spent watching videos, 2 in required Zoom meetings, and 1 hour 25 minutes are in the Lab. The remaining 8 hours should be spent on assignments, studying for tests and examinations, research, discovery, and any other course related tasks. For CS-140, there are two required lectures per week, taking two hours; one required lab per week, taking 1.5 hours, which leaves 9.0 hours per week of time to view the class videos, complete the homework, review the material, study for tests, and any other activities related to this course.

arrow_circle_up

Evaluation and Grading

All intermediate grades for labs, homework, tests, and graded quizzes will be posted in myCourses as soon as they are available. The myCourses grade center also contains feedback provided to you by the Professor and the TA's to explain why you got the grade that you did.

Grades will be computed using the assigned homework, labs, and tests. As a rule, extra credit and make-up work is not allowed in this course.

If you have any questions about your grades, please contact the Professor or the TA responsible for your grade. We try to make the grades as accurate and as fair as possible, but we aren't perfect, and will happily correct any mistake we have made.

The weighted average in myCoruses gives an indication of how you are doing so far, but the weighted average is an average of only the grades that have been given so far, and can change radically with some of the high percentage grades that are assigned late in the semester, such as the final project and the final exam.

Grade Weighting
Tests - 15% each 30%
Lab Average 15%
Assignment Average 15%
Final Project 10%
Graded Quizzes and Participation 10%
Final Exam 20%

The mapping from a weighted average to a letter grade changes from semester to semester based on the difficulty of the tests, labs, and assignments as compared to previous semesters; and will not be published.

arrow_circle_up

Academic Honesty and Collaboration

Students are encouraged to help one another and to form study groups. In Computer Science, you can learn more from your peers than from your instructors and teaching assistants. As long as the help is appropriate, please be generous with your time and expertise when helping fellow students. Doing so is good for you and good for them. You are free to discuss assignments in general terms with one another.

However, unless you are working on a group assignment, please do not show your work directly to students outside your group. Do not store your work on publicly available repositories (such as public GIT repositories.) Each of you must write your own code, and you must write up all solutions individually for individual assignments. Students submitting solutions (including code) that are determined to be "too similar" are likely to be punished equally and harshly.

Please review the Watson College academic honesty document and make sure that you understand it! Cheating and copying will NOT be tolerated. Also review the Computer Science Faculty Letter to students regarding academic honesty.

Specifically, in this class:

arrow_circle_up

Dealing with Stress

If you are experiencing undue personal or academic stress at any time during the semester or need to talk with someone about a personal problem or situation, I encourage you to seek support as soon as possible. I am available to talk with you about stresses related to your work in my class. Additionally, I can assist you in reaching out to any one of a wide range of campus resources, including:

arrow_circle_up

Dealing with Covid-19

Clearly, we are dealing with an abnormal situation in the midst of the world-wide Covid-19 pandemic. This course is designed to deliver full academic content with minimal personal contact to avoid any risk of spreading the virus. Should personal contact be required, all participants are expected to wear a face covering mask and maintain six-foot separation whenever possible.

Students who get Corona virus will be treated like any other student with an illness. Accommodations will be made to allow you to completely recover before completing the requirements for the course. All health information will be treated as private, confidential information except for notification of official health personnel. It is essential that we trust the professionals who work at government health departments to look after the health of all individuals.

There has been nothing about this pandemic that has been easy, and we know that anxiety is high. We should trust in the professionals with experience in public health to show us the way through this pandemic. We also need to trust, support, and accommodate each other so we can all survive and thrive in the face of this challenge.

arrow_circle_up

Gender Pronouns

Everyone has the right to be addressed by the name and pronouns that correspond to their gender identity, including non-binary pronouns, for example: they/them/theirs, ze/zir/zirs, etc. Rosters do not list gender or pronouns so if you have any special preferences, please contact me and let me know your preferences. If you use a chosen name, please let me know. Chosen names and pronouns are to be respected at all times in the classroom. Mistakes in addressing one another may happen, so I encourage an environment of openness to correction and learning.

Personally, I do not have strong preferences on pronouns or chosen names, and will answer to almost anything.

arrow_circle_up