A continuation of the process of program design and analysis for students with some prior programming experience (functions, loops, and arrays, not necessarily in Java). The course reinforces object-oriented programming techniques in Java and covers data aggregates, data structures (e.g., linked lists, stacks, queues, trees, and graphs), and an introduction to the analysis of algorithms that operate on those data structures. NOTE: students must achieve a C or better in order to use this course to satisfy the pre-requisite for any subsequent Computer Science course.-- From the Official Course Description
Prerequisites: 15-110 or AP CS A with a score of 5, or placement
Coursework GradeYou must take all exams at the times given. NO MAKEUPS will be allowed except for major documented life events (e.g., major medical illness, death in immediate family, etc.) or university sports meets. NOTE: You must inform the instructor at least one week in advance of a university sport meet to arrange an alternative time.
- Homework: 30%
There will be weekly homework assignments. You are allowed up to 6 late days total without penalty, with a maximum of 2 days late per assignment. (There are no partial late days.) No credit will be given to late work after you have used up all your late days. Try to avoid late days, as you will have less time to complete the subsequent assignments. No homework assignments will be "dropped".
- Participation: 5%
You must attend and participate in both lectures and recitation.
- Quizzes: 10%
There will weekly quizzes. If you miss a quiz, you will be given a 0% for that quiz. We will drop your lowest TWO quiz scores. However, there will be no make-up quizzes for ANY reason. If you're n minutes late to class, you will have n fewer minutes to take the quiz.
- Written Exams: 30%: 15% each of two
These will be individual, in-class written exams that will incorporate programming questions, theory questions, problem solving, the drawing of diagrams, etc.
- Final Exam: 25%
This exam is will test whether you are sufficiently proficient in writing programs in Java. All 15-121 sections will have a uniform standard exam developed by the department and will be scheduled during the final examination period. The same exam, grading scheme, and course weight will be applied, regardless of the instructor or section. We will not proctor the final exam at alternate times, so do not leave Pittsburgh until after the last day of finals.Grading Scale
Record Keeping
Final Grade Pct. Points Earned A 90 - 100 B 80 - 89 C 70 - 79 D 60 - 69 R less than 60%
Please keep copies of all of your graded work, electronic submissions, and electronic feedback, until you receive your final course grade and are satisfied that it is correct. Without the original work and the grading information, it is more difficult and time consuming to correct errors.
We expect you to attend all classes and labs, as you are responsible for everything covered during class. If you are absent, you are responsible for any material you missed. We expect you to bring a notebook, paper, and pencils or pens to class every day. You may not use electronic devices in the classroom without prior permission; no texting, no IMing, no email, no surfing the Web, no radar, etc.
We encourage you to discuss the exercises and homework with other students. But the discussion is limited to clarifying the assignments and sketching a general approaches to a solution. You should never look at another person's program to help you write yours, nor allow another student to look at your program. It is important that you do your own work so as to maximize your learning. Here are some examples of acceptable collaboration:As a general rule, if you do not understand what you are handing in, you are probably cheating. If you have given somebody the answer, you are probably cheating. In order to help you draw the line, here are some examples of clear cases of cheating:
- Discussing or explaining the general class material.
- Providing assistance with the Java language, class library, and tools.
- Discussing the code that we give out on the assignment.
- Discussing the assignments to better understand them.
- Getting help from anyone concerning programming issues which are clearly more general than the specific assignment (e.g., what does a particular error message mean? how do I go about debugging an infinite loop?).
- Copying (program or assignment) or reviewing files from another person or source, including retyping their files, changing variable names, copying code without explicit citation from published or posted works, etc.
- Allowing someone else to examine or copy your code or written assignment, either in draft or final form.
- Copying from another student during an exam, quiz, or midterm. This includes receiving exam-related information from a student who has already taken the exam, or providing exam-related information to a student who has not yet taken the exam.
- Writing, using, or submitting malicious software.
- Looking at someone else.s files containing draft solutions, even if the file permissions are incorrectly set to allow it.
- Lying to course staff.
Your course instructor reserves the right to determine an appropriate penalty based on the violation of academic dishonesty that occurs. But be assured that the penalty will be far worse than not turning in the work in question. Most likely, you will receive no credit for the assignment, your semester grade will be penalized by 10% (one letter grade), and we are required to notify the university, your advisor, your department, etc. It is university policy that you will not be allowed to drop the course or change to pass/fail. Violations of the university policy can result in severe penalties including failing this course and possible expulsion from Carnegie Mellon University. If you have any questions about this policy and any work you are doing in the course, please feel free to contact your instructor for help.
Individuals with documented disabilities may be eligible to receive services/accommodations from CMU's Equal Opportunity Services (EOS) office. For more information, please contact Larry Powell, Manager of Disability Services at (412) 268-2013 (voice/TTY).