CSE205 – Object Oriented Programming & Data Structures

Arizona State University Ira A. Fulton Schools of Engineering School of Computing, Informatics, and Decision
Systems Engineering
Disclaimer: this is the official syllabus for the course; paper copies will not be distributed. During the semester, changes may be made to the syllabus. If the change is significant, notification will be given in class, and an announcement will be made in Canvas. Minor editing changes will not be announced. The student is responsible for reading this syllabus at the beginning of the semester to acquaint himself or herself with the course policies, and for checking the syllabus periodically throughout the semester for relevant information.


Instructor and Office Hours

Instructor: Steven Osburn
Office: BYENG M1-37
Office Hours: TBD
email for appointment outside of normal office hours
Course Website: Canvas - assignments, announcements, materials, and grades will be posted Canvas - check it regularly


Course Materials & Resources

Ø     Textbook(s)
o    Java for Everyone, Late Objects by Cay Horstmann.
o    I recommend purchasing the e-text book (or hardcopy) from the web site.
o    Note: an earlier version of textbook is fine with this course.
Ø     Website: My ASU Courses (Canvas)


Catalog Course Description

Problem solving by programming with an object oriented programming language. Introduction to data structures.
Overview of computer science topics.


Major Topics Covered in this Course

1. Object Oriented
•    Software Development
•    Brief introduction to Java
•    Classes, Interfaces, Abstract classes
•    Polymorphism
•    Introduction to GUI
2. Introduction to Data Structures
•    Arraylists
•    Linked lists
•    Stacks
•    Queues
•    Introduction to binary trees
3. Algorithms
•    Recursion
•    Searching/sorting
•    Big O notation
4. Exceptions and Input/Output streams
•    Exception handling
•    File read/write
•    Serialization


Course Objectives

1. To introduce issues related to software development
a.    A student can define the terms of software engineering (software life cycle, software improvement models)
b.    A student can use object oriented design techniques to identify classes and objects and define the relationships among objects.
c.    A student can understand simple UML (Unified Modeling Language) diagrams to represent OO designs and convert a design in UML to the equivalent code.
2. To introduce concepts of data structure organization
a.    A student can write code using basic data structures such as ArrayLists/Vectors.
b.    A student can implement basic data structures such as linked lists, queues, stacks and binary trees.
c.    A student can determine the appropriate basic data structures to use in a program.
d.    A student can use encapsulation to provide abstract container classes
e.    A student can write a program using sequential and text files as input and output for programs
3. To introduce Object Oriented language constructs
a.    A student can design and implement a simple GUI (graphical user interfaces)
b.    A student can write a program using inheritance, interfaces, and polymorphism.
c.    A student can use exception handling correctly in a program.
4. To introduce the issues of Algorithms
a.    A student can describe the efficiency of simple algorithms (merge sort, quick sort, linear search, binary search).
b.    A student can apply standard algorithms for searching and sorting, searching when designing programs.
c.    A student can design recursive algorithms and use recursive structures when designing programs.
5. To introduce social and ethical issues of computer science
a.    A student can research and discuss ethical and social issues of the computing world


Assessment and Grading

Various methods will be used to present the material and assess the student's understanding and comprehension.


Assignments

For each assignment you are required to complete a programming project which will be submitted to Canvas for grading. Each project is worth 100 points. This class is meant to be a programming intensive. These are not small projects that can be started the night before they are due. You will need to spend significant time designing, coding, and testing your project. Before each assignment, is it your responsibility to complete all assigned reading and attend all lectures. Failure to complete the reading or attend the lectures may make it very difficult (or impossible) to successfully complete the assignments. You are strongly encouraged to start the assignments at least one week before the due date – this will give you time to seek and receive help if you need it. Be sure that you are aware of all due dates posted for each assignment in Canvas. Assignments will receive a -10% penalty if they are submitted late, but within 24 hours of the due date.

Submitted Bonus/Penalty

before the deadline Accepted for grading with no penalty
< 24 hrs after the deadline Penalty of -10 pts
≥ 24 hrs after the deadline Not accepted for grading. Score will be 0 pts
Assignments that are submitted less than 24 hours after the deadline will be penalized 10 points. For example, if the project is worth 100 points, and you earn 75 points by submitting your project one minute after the deadline, then you will be penalized 10 points, for a total project score of 65 points. In no case will a project be graded when submitted more than 24 hours after the deadline. Assignment solutions must be uploaded to Canvas for grading; in no case will an emailed project be accepted for grading.


Examinations

There will be two in-class examinations; the exam dates are listed in Canvas. The second exam (final exam) will be given during the scheduled final exam period.

Only in exceptional cases (exceptional is defined by the instructor and will generally involve something like a note from the neurosurgeon who performed your emergency surgery on the day of the exam) will an exam be given after the exam date. If you know you are going to be absent on the date of an exam for a good reason (generally only business travel for your job or travel for an approved school function) then you may be permitted to take the exam early.

Note: you will be required to show proper photo identification (a driver's license, military ID card, or ASU Suncard) when handing in your examination for grading. If the instructor or TA does not recognize you, and you cannot produce photo identification, your exam will not be accepted for grading.


Quizzes

There will be a number of quizzes to be taken throughout the semester. Each quiz can be taken up to 2 times. Your score for any quiz will be the average score for the attempts made – for example, if you take Quiz 01 two times and score 7 points on the first attempt and 9 points on the second attempt, then the average score of 8 will be recorded in the grade center for this quiz. In no case—never—will a makeup quiz be given if you miss one for any reason.


Calculating Final Letter Grades

Your final letter grade will be based on your final course percentage FCP which is calculated as a weighted sum of your scores. Your final course percentage will be calculated using this weighting:

Component                              Weight
Quizzes                                   20%
Assignments                            30%
Exams                                    40%
Group Project                          10%

Your final letter grade will be based on FCP:

FCP Letter Grade
FCP ∈ _[98, 100] A+
FCP ∈ _[90, 98) A
FCP ∈ _[80, 90) B
FCP ∈ _[70, 80) C
FCP ∈ _[60, 70) D
FCP < 60 E


Grade Appeals

Any discrepancy or disagreement in grading must be presented to the instructor by email within one week of your receipt of your graded materials; otherwise no grade change will be made. No appeals will be accepted after the one week period for any reason. Your grade appeal email must be specific – it must identify the assignment, due date, and assigned grade, as well as a detailed description of what you believe the score should have been based on the grading rubric for the assignment. Grade appeals will be only considered by the instructor at the end of the semester before calculating your final course percentage and letter grade (the reason is that in most cases, whether the appeal is successful or not, it will not affect a student's course percentage enough to change the student's letter grade). At that time, I will re-grade your assessment only if giving you the points in question would change your final course percentage enough to increase your final letter grade. If your score was changed, the new score will be entered in the Canvas Grade Center.


Absence and Makeup Policies

Accommodations will be made for religious observances provided that students notify the instructor at the beginning of the semester concerning those dates. Students who expect to miss class due to officially university-sanctioned activities should inform the instructor early in the semester. Alternative arrangements will generally be made for any examinations and other graded in-class work affected by such absences. For all other absences, no alternative or make-up assignments will be granted.


Academic Misconduct

In general, the instructor believes learning is a collaborative activity - that students learn best when they work together -and that students should be encouraged to learn from and teach each other. These activities would include discussing solutions to assignments, working together (in pairs) on coding assignments, and jointly studying for exams. In completing the coding assignments, student-pair collaboration is encouraged and will be permitted as long as each member of the pair contributes equally to the work. Collaboration is only acceptable between members of the same pair-team; inter-team collaboration is forbidden and violators may be sanctioned. It is never acceptable to copy or paste code from anywhere for any reason. Collaboration on examinations is not permitted; each exam must be completed by the individual student. Failure to abide by these rules will result in a score of zero being assigned to one or both members of the team (i.e., if I have a reasonable hunch that one student did all of the work on an assignment and the other student simply put his/her name on it, then the student who did all of the work will receive the assignment score and the other student will be given a score of zero).
If you are caught cheating (in any way) on an exam or an assignment, you will receive a zero in the class. On any offence you will receive a zero in the course, and you will be reported to the Dean’s office. If you start to feel like cheating is a good option or your only option, then please see me before you do something to cause serious damage to your grade or to your academic standing at the university – I will help you.
You are encouraged to acquaint yourself with the ASU Academic Integrity Policy


Classroom Behavior

The ASU Student Services Manual (SSM 201-10) permits the instructor to withdraw a student from a course for disruptive behavior with a mark of W (withdrawal) or E (failure). Note that "disruptive behavior" is defined by the instructor, not by the University or the student. Violation of conventional and acceptable classroom behavior will result in the offender being asked to exit the classroom and notification of the offense to the Fulton Schools of Engineering's Dean's Office. A warning may or may not be provided.
Note that in general, you may sit where you wish. However, the instructor has the right to ask you to sit in a specific seat or move to a different seat at any time during the semester. In the past, I have moved students whom I suspected were cheating during an exam, and I will do so in this course if I believe you are looking at another student's paper or sharing answers during an exam.


Requirements for Success in this Course

The instructor assumes that you are mature and responsible adults, that you are enrolled in this course because you wish to learn the material, that you will read any assigned readings before class begins, that you will come to class prepared to discuss the reading and ask questions, that you will complete the assignments to the best of your ability on time, that you will actively participate in class discussions, and that you will ask questions about material you find confusing. The instructor believes that college students must be actively involved in their own learning process, that they cannot just sit and listen to lectures and expect to learn the material, that one of the purposes of college education and the Arizona State University mission is for the student to self-develop skills such as problem solving, independent learning, critical thinking, and effective written and spoken communication. To succeed in this course you must:
•    Be prepared for every class, attend every class, and pay attention.
•    Read the textbook and any assigned readings prior to class.
•    Begin and complete the assignments well before the due date.
•    Prepare thoroughly for and complete every exam.
•    Do any additional exercises you must to understand the material.
•    Study with a partner if you wish or if it helps you.
•    Ask questions in class. If you do not feel comfortable asking the question in class, talk with me outside of class.
•    If you do not complete an assignment by the deadline, complete it anyway later.
•    If you miss points on an assignment or exam determine why your answer was graded incorrect and learn the correct answers.
•    Seek help from the instructor, TA, grader, or the tutoring center before you are too far behind on your understanding of the subject.
•    Read your email every day; I often send important announcements via email.
•    Check the course website and Canvas every day for new announcements, material, and updates.

Having said all that, I want you to know that I care about all of my students and their education. I want all of you to succeed, to feel you have gained something from the course, to have some fun in the process, and I will do all I reasonably can to assist you in your efforts!


Title IX

Title IX is a federal law that provides that no person be excluded on the basis of sex from participation in, be denied benefits of, or be subjected to discrimination under any education program or activity. Both Title IX and university policy make clear that sexual violence and harassment based on sex is prohibited. An individual who believes they have been subjected to sexual violence or harassed on the basis of sex can seek support, including counseling and academic support, from the university. If you or someone you know has been harassed on the basis of sex or sexually assaulted, you can find information and resources at
http://sexualviolenceprevention.asu.edu/faqs/students.


Sexual Violence and Harassment

Title IX is a federal law that provides that no person be excluded on the basis of sex from participation in, be denied benefits of, or be subjected to discrimination under any education program or activity. Both Title IX and university policy make clear that sexual violence and harassment based on sex is prohibited. An individual who believes they have been subjected to sexual violence or harassed on the basis of sex can seek support, including counseling and academic support, from the university. If you or someone you know has been harassed on the basis of sex or sexually assaulted, you can find information and resources at
https://sexualviolenceprevention.asu.edu/faqs.
As a mandated reporter, I am obligated to report any information I become aware of regarding alleged acts of sexual discrimination, including sexual violence and dating violence. ASU Counseling Services, https://eoss.asu.edu/counseling, is available if you wish discuss any concerns confidentially and privately.


Statement on Accommodations

The Disability Resource Center (480-965-1234; Matthews Center; email: [email protected]) is the central location for students requiring accommodation. Any student requiring accommodation must contact and register with the Center before any accommodation requests can be granted by the instructor. If you require accommodation, please contact the Center as soon as possible so the instructor can work with you to ensure your success.

Suitable accommodations will be made for students having disabilities and students should notify the instructor as early as possible if they will require same. Such students must be registered with the Disability Resource Center and provide documentation to that effect.



Waiting for an Absent Instructor

Students are obliged to wait at least 15 minutes for class sessions lasting 90 minutes or less, and 30 minutes for class sessions lasting more than 90 minutes. Students may be directed to wait longer by someone from the academic unit if they know the instructor will arrive shortly.


Note

You are responsible for the contents of this syllabus and the information on the homepage. Make sure you know how to access the home page. Announcements in the class take precedence over printed material. It is very important to check the homepage frequently during the semester.