General
Office hours:
Here is a list of all the office hours that the course staff offer. If you would like to speak to an instructor and you cannot make it to their office hours, send an email to set up a meeting.
Office Hours:
| hemannja@shu.edu |
| McQuaid 210 |
| Tue |
| 8:00--9:30am | |
| jayvin.irby@student.shu |
| AS242/206 |
| Mon-Fri |
|
People
Instructors:
|
TAs:
|
Your TAs help with class and hold office hours. In general, they are apprentice teachers and are here to learn how to run a course. At the same time, though, they are your peers who have taken the course, and can see your problems from your perspective.
Communications
If you need help, you may talk to the instructor or the TAs during their office hours.
Posting or sharing parts of a solution to any parts of a homework assignment is considered cheating. Even after it is due. You don’t want to do this. Limit your answers to other students to providing clarity when needed and hints when appropriate. This is good practice should you ever want to be on staff :)
General Policies
Late assignment policy: An assignment that is one second late is automatically counted as a full day late. Each student gets four free, no-questions-asked late days for the term. The purpose of late days is make the extension process fair and transparent by getting the instructors out of the extension-granting business entirely. Instead, when you need an extension, you can take one—provided you have a late day remaining.
To use a late day, just email your instructor the homework. Your instructor will upload it to the server and keep track of the number of used late days, and will prevent you from submitting more than one day late to any assignment, or late at all if you’ve used all your late days. Conserve your late days carefully.
No more than one late day may be used on any one homework. Late days cannot be divided fractionally, but must be used whole. Late days cannot be transferred to or shared with a partner, so in order to take an extension both you and your partner must have sufficient late days remaining. Choose your partners carefully (when you have the option).
Laptop policy: No laptops in class. I can hand-write code, so can you.
Academic honesty: We will strictly enforce the school, college, and department’s academic integrity policies. You may discuss problems with other students, but you may not share or show code to anyone other than your assigned partner or the course staff. Violations of academic integrity will be reported and will have a negative impact on your grade. Likewise do not try and use Java code that you have found on the internet or procured from internet-like sources. Any Java code you find off the internet will be wrong, incorrect style, obviously taken from the internet, and worth zero points.
Lectures
Section 1: Monday and Wednesday at 9:30–10:45 am
SC 109 Hemann
Lectures policy:
You are required to read the lecture material for the given lecture before coming to class. During the lectures we will discuss the material covered in the required reading, answer questions, provide additional examples and applications.
It is OK if you do not understand everything when you first read it, but reading about the new concept ahead of the time will give you a chance to anticipate the questions you may have and allow you to follow better the details of explanation during the lectures.
Recitations
The goal of the recitations is to see in practice problems that illustrate the concepts covered in the lectures, and to prepare you for the next programming assignment.
There is a lot of technical detail related to running Java programs that will be covered in the early recitations. Later ones may focus more on design questions and on good Java programming practice.
In-class Quizzes and Code review
We will be running quizzes during several of the classes, possibly without prior warning. The goal of the quizzes is to see that you are familiar with the most basic concepts covered during the recent lectures and assignments.
Quizzes will be graded, and are counted as part of your exam scores (see Exams below). The intent is to assess your progress in the course in smaller chunks rather than just through lengthy midterm exams.
If you do not pass the quiz, you need to meet with the instructor within the next week, to identify the problems you may have and to help you get back on track. Only one makeup of a quiz will be allowed.
We may also conducting walking code reviews, of material from recent homework assignments. As presenters, be prepared to explain your design choices to your classmates. As reviewers, pay attention both to how the presenters organize their explanations and how they organize their code, and feel free to ask clarifying questions about either.
Computing Environment
You will complete your assignments (other than the first one) using the IntelliJ IDE. Though, if you feel more comfortable, you may choose to use another IDE (e.g. NetBeans) or work directly from the command line, but you and your partner must both be comfortable with the chosen programming environment, and the staff may not be able to assist you with issues encountered in other environments.
You will use the handin server to submit your homework. You may submit as many times as you wish, though submitting too frequently will be detected and rate-limited, to ensure fairness for other students. Be aware that close to the deadline when everyone submits all at once, the server will become less responsive.
Assignments
There will be one problem set each week. As with CSAS1114/1115, the problem sets will include ungraded exercises and practice problems, that you are strongly encouraged to look at and confirm that you can solve. You are welcome to bring solutions to these problems to the course staff during the semester for informal feedback on how you’re doing.
The graded problems are to be solved collaboratively with your partner. The problems will consist of structured programming assignments that may be based on the work done in previous weeks, and may also include more creative projects where you can practice your design skills.
Due Dates: Thursdays at 10:00pm, unless otherwise specified. See the late policy above.
Note: You will submit each problem separately on the handin server. This is for your benefit: the server will attempt to compile and run your program against automated test cases. Having separate submissions for each problem means that a syntax error in one problem won’t immediately prevent your other problems from compiler also. Be careful to submit the correct answers to the correct problems.
Pair Programming
You must work on problem sets in pairs. We will assign you a partner. You will switch partners a few times during the semester.
Important Pair programming means that you and your partner work on the problem sets jointly. You read them together and you work on the solutions together. One of the lab’s purposes is to teach you how to work in pairs effectively; indeed, pairs are provably more effective than individuals in programming. The rough idea is this: One of you plays pilot, the other co-pilot. The pilot works on the keyboard and explains aloud what is going on; it is the co-pilot’s responsibility to question everything. After a problem is solved to the satisfaction of both, you must switch roles.
Every partner must be able to solve every homework problem in the end. In other words, you must be able to solve every homework problem on your own.
If you are having difficulties working with your partner, please inform your instructor quickly: we cannot help if we don’t know there’s a problem.
Academic Integrity
All programs must be completed strictly by you and your partner. You may discuss the problem sets with others. However, you may not share code in any way. Your code should not look as though it came from someone or somewhere else. Submitting code that is not your own will be considered a violation of the University’s Academic Integrity Policy . Violations of academic integrity will be reported, and will have strong consequences on your grade, from an automatic zero on the assignment to failing the course.
NOTE: Be aware that while submitting someone else’s code is clearly a violation, so is sharing your code with others, even if you truly just mean to help. Outside an academic environment, sharing code with unauthorized parties can be a criminal offense and have severe and unanticipated consequences.
If you are ever unsure of whether sharing is unacceptable or not, ask one of the course staff.
Exams
You may bring one sheet of notes to exams (may be typed or hand-written, one-sided or double-sided).
Grades
40% homework. Most homeworks will be equally weighted; homework 5 will be worth more, and homeworks 9 and 10 will be worth double: these are larger projects and will take more time.
55% quizzes and exams, with exact proportions to be determined.
5% participation, meaning active participation in class and lab
There will likely be some small amount of extra credit available on the last two assignments. Details to be determined.
As before, you can use the handin server to see the current weights of each assignment, and your approximate grade in the course so far. The exact weights of assignments, quizzes and exams will change during the semester, depending on exactly how many of each we have. We will let you know when we update these weights, and will try to keep it as infrequent as possible.