EECS268:Syllabus
Navigation |
---|
Home |
Information |
Syllabus |
Classwork |
Contents
Course Description (from the Catalog)
This course continues developing problem solving techniques by focusing on the imperative and object-oriented styles using:
- Abstract Data Types
- Basic data structures such as stacks, queues, and trees
- Recursion
- Basic notions of algorithmic efficiency and performance analysis in the context of sorting algorithms
- Basic Object-Oriented techniques
Pre-requisites
EECS 168
Textbook
Data Abstraction & Problem Solving with C++, Frank Carrano, 7th edition, Pearson
General Course Information
Compiling Requirement
All code must compile. Any code that does not compile will not be graded, and hence receive zero credit. You must develop good coding practices to ensure that your code is always in a working state.
Questions dealing with projects/laboratory assignments are to be directed first to one of the GTAs. Feel free to see whichever one is available when you need help. If you are still having difficulty after talking with a GTA, see the instructor for help. In addition to questions related to projects and other laboratory work, the GTAs can help you with any course-related question, whether it is about the lectures or laboratory assignments.
Development Environment
All programs will be developed in C++ on the departmental linux systems. If you use another C++ development environment at home or elsewhere, it is your responsibility to make sure the code you submit compiles and runs correctly in the linux environment used in the lab. If it does not compile on the require platform, it will receive a zero.
Attendance (a little different while KU is online only)
Both the lab and lecture sessions are important and integral parts of this course. Laboratory attendance is mandatory. If you have a legitimate excuse to miss a lab, contact me and your GTA for approval. You will not be penalized for excused absences, but you must inform the GTA and instructor prior to missing lab or lecture.
- You must attend lab to receive a grade for the lab. No 268 lab has ever been completed in less than 2 hours, so I expect you to attend the entire lab.
- If you miss a lecture, you must send me prior notice
- Three unexcused absences or three zeros on lab assignments will result in a failing grade for this course
Regular lecture attendance is required for your success in the course. We do not take regular attendance in lectures, but we reserve the right to start doing so at any time if we believe there is an issue. You should plan on attending them all. Excessive absences will result in a lower grade.
During online-only courses
- Keep up with videos daily
- Contact professor and TAs with issues/problems immediately
- Allow ample time for replies from professor/TAs
Announcements
You are responsible for all announcements we make in class, such as information about exams, projects, changes in the syllabus, etc.
Academic Misconduct
Cheating and plagiarism will not be tolerated and will be treated severely whenever found. Unless an assignment explicitly states otherwise, all work must be strictly your own. Sharing your work or copying is cheating, and submitting a work that is not all yours is also considered cheating. Any cheating will result in an F for the course for all parties involved.
While you are in the classroom, show courtesy to your classmates. Any behavior that is interrupting the class is an academic misconduct.
Reports of such detected academic misconduct will also be made to your major department, school/college, and university, which oftentimes will result in more serious sanctions.
Be aware many coding problems have solutions online, but the copying of these solutions is not only detrimental to your education, it is plagiarism, which is a violation of the KU academic code.
From section 2.6.1 of the University Senate Rules and Regulations: Academic misconduct by a student shall include, but not be limited to, disruption of classes; threatening an instructor or fellow student in an academic setting, giving or receiving of unauthorized aid on examinations or in the preparation of notebooks, themes, reports or other assignments; knowingly misrepresenting the source of any academic work; unauthorized change of grades; unauthorized use of University approvals or forging of signatures; falsification of research results, plagiarizing of another’s work; violation of regulations or ethical codes for the treatment of human and animal subjects; or otherwise acting dishonestly in research.
Posting Solutions
Students are forbidden from posting any solutions to labs, homeworks, or exams publicly as long as you are a student at KU. This includes, but is not limited to, a personal github repository.
You reuse code for future personal projects, but anything you post publicly must not be a solution for any EECS 168 or 268 assignment nor should it be easily searchable (e.g. the name of your repository is "EECS 168 Lab##").
Any posting of a solution, even for the purposes of sharing with an employer, will be considered an act of academic misconduct.
Class Conduct
Punishments of reduction of overall grade, zero for lab or homeworks, exam score reduction, and/or academic misconduct violation can result from any of, but is limited to, the following:
- Talking during class
- Distracting others during class
- Using phone during class
- Not participating in class
- Disrespecting, insulting, or intimidating students or staff in or out of class
- Misusing KU facilities
- Other means of circumventing the academic process
I will issue warnings as I see fit, but will proceed straight to disciplinary action if I see fit.
Commercial Note Taking
Pursuant to the University of Kansas’ Policy on Commercial Note-Taking Ventures, commercial note-taking is not permitted in EECS 268: Programming II. Lecture notes and course materials may be taken for personal use, for the purpose of mastering the course material, and may not be sold to any person or entity in any form. Any student engaged in or contributing to the commercial exchange of notes or course materials will be subject to discipline, including academic misconduct charges, in accordance with University policy. Please note: note-taking provided by a student volunteer for a student with a disability, as a reasonable accommodation under the ADA, is not the same as commercial note-taking and is not covered under this policy.
Grading
Grading System
Grades are based on two in-class exams, the written exam, and laboratory work (including lab assignments). The final grade is made up of the following:
- Exam 1: 20%
- Exam 2: 20%
- Final Exam (written): 25%
- Lab Exercises: 35%
This course is an entitlement course. Grading works differently than in other you courses you may have taken. You cannot pass the course (i.e., get a D or better) unless you have at least a 60% average in BOTH the lab AND the exam portions of the course. Similarly, in order to be eligible to receive a "C" or above in the course, you must have a weighted exam of C or higher and a lab average of C or higher. This means it is possible to have an overall grade average of C or higher, but still receive a D or F if either your exam average or your lab average is not a C or higher.
Once you have a C or higher in both exam and lab averages, then your grade will behave as normal.
A: 90 – 100 B: 80 – 89 C: 70 – 79 D: 60 – 69 F: 0 – 59
At my discretion and only with clear evidence of effort, dedication, and work ethic, I may assign B+ for 88 and above; similarly C+ for 78 and above. I will not assign any other +/- grades. Getting an 88, does not guarantee a B+. In fact, I've never given a B+ or C+, but you may be the first.
Late Submission of Labs
Indicated on each lab is the lab due date. Programming assignments must be turned in by this due date in order to be eligible for full credit. Programming assignments may be turned in up to one week later with a 50% penalty. That is, the programming assignment will first be graded as if it were turned in on time. Then 50% of your score will be deducted. No programming assignment will be accepted which is either (i) more than one week late, or (ii) not submitted by 11:59pm the day before Stop Day.
Late work summary
- Labs
- 100% credit - within 7 days from start of lab
- 50% credit - between 7 and 14 days from start of lab
- 0% credit - after 14 days or does not compile
Grade Responsibilities
This course does not use blackboard. All written exams are graded by the professor and handed back in class. All other grades are available from your TA. If you need a specific grade or you have not received a grade you were expecting it is your responsibility to email your TA and the professor no later than 10 days past the due date of the grade in question.
Submission Responsibilities
After you submit your assignments, your TA will contact within 24 hours to verify they received your submission.
The following is your responsibility:
- ensure your submissions work on the lab machines
- send a tar ball with a file name of the required format
- remove all .o, executable, or any other invalid files from your submission that may cause it to be rejected by the email servers
Appeals
Should you wish to appeal a grade that you have received on a laboratory assignment, exam, or anything else, you must do so within one week of receiving the graded item. In the case of items such as exams which are handed back in class, you will have one week from the day they were handed back in class, regardless of whether you were in class that day. For the final exam, you will have one week from the day class grades are posted to appeal.
Invalid Excuses
This is non-conclusive list of invalid excuses.
- I have a lot going on in other classes
- I'm very busy at my job
- I didn't notice that instruction
- I overslept
- I couldn't make it to class because I'm behind in lab
- I couldn't make it to lab because I'm behind in earlier labs
- I sent an email and never got a reply
- I didn't know I couldn't share my answers with others
- I didn't know I couldn't copy code from an online source/printed source/other student/anywhere
- I didn't know when the exam was
- I wasn't in class when that was announced
- I already booked my flight but it leaves when our final exam is
- It works on my machine, but not on the machines it actually is supposed to work on
- My computer crashes and I lost my work
- I submitted the wrong file
- I thought I submitted it but I didn't
I know life happens. I know things can get stressful and you can feel overwhelmed, but out of respect for those that have to deal with illness, trauma, family issues, or other near catastrophic life events, please do your best to stay on top of this course. Sometimes you'll have to take a late grade or a low grade, but that's why we have many assignments and exams across the entire semester.
Academic Achievement and Access Center
Any student in this course who has a disability that may prevent him/her from fully demonstrating his/her abilities should contact me personally as soon as possible so we can discuss accommodations necessary to ensure full participation and facilitate the educational opportunity.
The staff of Academic Achievement and Access Center (AAAC), AAACTesting@ku.edu, coordinates accommodations and services for KU courses. If you have a disability for which you may request accommodation in KU classes and have not contacted them, please do so as soon as possible. Please also see me privately in regard to this course.