Intro to Object Oriented Programming
Spring 2024


Syllabus

- Summary -

Course Title Intro to Object Oriented Programming (IOOP)
Course No. CS 04.113
CRN 21112 - 21113
Section 1 - 2
Start/End Dates January 16 - May 3, 2024
Term/Module Spring 2024

- Course Description -

Introduces the fundamental concepts of programming from an object-oriented perspective. Topics are drawn from classes and objects, abstraction, encapsulation, data types, calling methods and passing parameters, decisions, loops, arrays and collections, documentation, testing and debugging, exceptions, design issues, inheritance, and polymorphic variables and methods. The course emphasizes modern software engineering and design principles.

Prerequisites:

- Instructor -

Name Chia Chien
Email chien@rowan.edu
Phone 856-256-4392
Website http://users.rowan.edu/~chien/
Office Hours M 2-4p (WebEx)
By appointment via RSN-Starfish

- Policies-

Attendance

Students are responsible for attendance at all class meetings during regularly scheduled times. Attendance may also be a mandatory component of final course grades. Up to 6 class absence days per semester are permitted. Late arrivals and early departures will be charged as a half-day (1/2) absence. After 6 absence days, a final letter grade of F, W, or WF may be given with no credit for the class.

Due to the unique structure of the course with some solutions provided immediately after deadlines, it is also very important to complete ALL assignments and assessments on or by their designated dates, as there are NO extensions or makeups scheduled . If absent, you are still responsible for any missed material and completing all work by the assigned due dates.

If you have to miss an exam due to certain extenuating circumstances, you need to notify me before the fact or as soon as possible. You MUST also provide acceptable documentation of the reason for your absence. For more information on student attendance responsibilities, see the Rowan Attendance Policy.

Classroom Decorum

All students are held to certain standards of conduct and are expected to help promote a learning-conducive environment by respecting their instructor/classmates and by adhering to the Rowan Classroom Behavior Policy whereby:

Class Withdrawal Policy (subject to change)

Date Process Transcript
Before 1/22 Drop/add courses easily without forms or approvals Course will not be shown
Before 1/29 Late drop/add with Registrar form Course will not be shown
Before 4/8 Withdraw from course with Registrar form Course grade of W
Starting 4/9 NO withdrawals - unless exception approved by Dean of Students for extreme hardship requests with supporting documentation meeting 1 or more hardship categories Course grade of W

Acceptable Use Policies

By registering and taking this course, you are agreeing to follow all Rowan computer and network acceptable use policies for faculty, staff, and students. Detailed information may be found on the Rowan Acceptable Use Policy, Computer Lab Usage Policy, Workstation Use Policy, and Mobile Electronic Device Policy. Or, access all the Rowan Information Resources & Technology Policies and Procedures.

Statement of Accommodation

Your academic success is important. If you have a documented disability that may have an impact upon your work in this class, please contact the instructor ASAP. Students must schedule their exams in the testing center if they are eligible to receive extra time per their accommodations. Students must provide documentation of their disability to the Academic Success Center in order to receive official University services and accommodations. The Academic Success Center can be reached at (856) 256-4259. The Center is located on the third floor of Savitz Hall. The staff is available to answer questions regarding accommodations or to assist you in your pursuit of accommodations.

Academic Integrity and Plagiarism

Plagiarism and cheating in ANY form is considered academic dishonesty and will NOT be tolerated in any of your classes.
Students are encouraged to share ideas and consult with other approved resources. However, all submitted work (except group work as determined by the instructor) is expected to be fully comprehended and completed individually. Work may NOT be referenced or copied in whole or in part from the Internet, book, another student/person, unauthorized resources, etc... and allowing others to view or copy your work is also NOT permitted. Students must also observe the instructor's written and verbal directions in ensuring the integrity of all academic work, including but not limited to securing mobile devices and staying in the room during entire exam period as well as only using authorized resources for additional help.

Accessing, utilizing, sharing, or posting any course work/materials using unauthorized resources (including Chegg, CourseHero, or any other similar site) is also strictly forbidden and ALL suspected activity will be reported as a possible academic integrity violation with due process.

It is the student's responsibility to be fully familiar with the Rowan Academic Integrity Policy and the Student Code of Conduct. Students will be held accountable to firmly adhere to these policies. By the act of assignment/assessment submission, it will be assumed that students thereby affirm their understanding that they may neither receive nor provide any unauthorized assistance with the completion of their work. The CS Academic Integrity Self-Test and the CS Department Academic Integrity Pledge may also be required to be completed as confirmation of understanding and acceptance of the given policies.

Students will also be required to acknowledge academic integrity with the explicit inclusion of an academic integrity statement on individual submissions. Omission of acknowledgement may result in a failure or reduction in grade for the assignment/assessment.

All suspected academic integrity violations will be reported via the Report of an Academic Integrity Violation (RAIV) Form and will result in penalties that may include a failing course grade and/or probation, suspension, or expulsion from Rowan University.

Rowan University's Statement on Diversity

Rowan University promotes a diverse community that begins with students, faculty, staff and administration who respect each other and value each other’s dignity. By identifying and removing barriers and fostering individual potential, Rowan will cultivate a community where all members can learn and grow. The Rowan University community is committed to a safe environment that encourages intellectual, academic, and social interaction and engagement across multiple intersections of identities. At Rowan University, creating and maintaining a caring community that embraces diversity in its broadest sense is among the highest priorities.

Rowan University Title IX Sexual Harassment/Sexual Assault Policy and Reporting

Rowan University and its faculty and staff are committed to assuring a safe and productive educational environment for all students. Title IX makes it clear that sexual misconduct and harassment based on sex and gender is a Civil Rights offense subject to the same kinds of accountability and the same kinds of support applied to offenses against protected categories such as race, national origin, etc.

University faculty and staff members are required to report any instances of sexual misconduct or harassment, to the University’s Title IX Coordinator so that the appropriate resources and support options are provided. Please report any incidents of sexual misconduct and harassment by clicking HERE. What this means is that as your professor, I am required to report any incidents of sexual misconduct and harassment that are directly reported to me, or of which I am somehow made aware. See Rowan’s Title IX Sexual Harassment/Sexual Assault Policy and Student Sexual Misconduct and Harassment Policy.

Rowan University Discrimination and Harassment Reporting, and Title VI

Rowan University prohibits discrimination, whether verbal, written, physical or psychological under the University’s Policy Prohibiting Discrimination in the Workplace and Educational Environment. Please report any incidents of discrimination and harassment by clicking HERE. In addition, as your professor, I am required to report any incidents of discrimination and harassment that are directly reported to me, or of which I am somehow made aware. Please see below available resources:

Confidential Resources:
The Wellness Center, Winans Hall, 856-256-4333, www.rowan.edu/wellness

Non-Confidential Resources:
Office of Student Equity and Compliance (OSEC), Savitz Hall 203, 856-256-5830
Public Safety, Bole Annex, 856-256-4911

To learn more about Title IX go to: go.rowan.edu/titleix
To learn more about Title VI go to: go.rowan.edu/titlevi

The Office of Student Equity and Compliance

The Division of Diversity, Equity and Inclusion, Office of Student Equity & Compliance (OSEC) is located in Savitz Hall, Rm 203. The office plays a significant role in providing students support and protection under Title VI and Title IX. The mission of OSEC is to engage and educate the Rowan community on prevention, identification and reporting of all matters of discrimination, harassment and gender-based violence by developing, implementing and monitoring appropriate policies, procedures and practices designed to ensure compliance as well as thorough and equitable resolution of all complaints.

- Course Information -

ALL classes this semester will be held in person and on campus during regularly scheduled class times.

Class Times and Location

CS 04113-1 (CRN# 21112) Introduction to Object-Oriented Programming CS 04113-2 (CRN# 21113) Introduction to Object-Oriented Programming

Rowan Success Network and Academic Success Center

The Rowan Success Network (RSN) powered by Starfish ® is the online communications tool designed to make it easier to connect you with the resources to be successful at Rowan. Throughout the term, you may receive emails from the RSN team regarding your academic performance. You should pay attention to these emails and consider taking the recommended actions.

University Tutoring from the Academic Success Center is also available free of charge to all Rowan students. You may utilize the scheduling tools on RSN Starfish ® to make appointments, including tutoring and advising, at your convenience.

Texts and Materials

Schedule (Subject to Change)

Lab Reading Topic Content
1 Homepage/Syllabus
Chapter 1
Appendix A
Syllabus & Materials
Objects and Classes
Working with BlueJ
syllabus, login, homepage, BB, RSN, Banner, academic integrity
object and class parts
BlueJ demo
2 Chapter 2 Understanding Class Definitions structure, assignment, methods, if-else, concatenation, variables
3 Appendix B
Appendix C
Chapter 3 (p.104-108)
Bits & Bytes
Java Data Types & Operators
Operators
computer storage
primitive/object types, casting, wrappers, operations, short-circuit
relational and logical operators
4 Appendix D
Appendix I & J
Chapter 6 (p.229-232)
Java Control Structures
Javadoc & Program Style Guide
BlueJ Documentation & Shortcuts
if-else/switch conditionals, while/for loops
documentation and style, API
Javadoc, public/private, BlueJ code completion
5 Chapter 3 Object Interaction class/object diagrams, primitive vs. object data types, expressions,
parameters, method calls, this keyword, null vs. void, errors
MID
TERM
Appendix F & G

Chapter 1-3
Debugger & Unit-Testing Tools
Class & Object Diagrams
Kahoot Review
BlueJ debugger and JUnit, test fixtures
class/object diagram drawing
6 Chapter 4 (p.129-148) Grouping Objects ArrayList, for-each, toString( ), Object class
7 Chapter 4 (p.148-159) Grouping Objects definite/indefinite loops, while, non-collections, equality vs identity
8 Chapter 4 (p.159-176) Grouping Objects iterators, removals, copy, Random, Collections, anonymous/chaining
9 Chapter 7
(skip p.279-280)
Fixed-Size Collections fixed-size arrays, literals, for, arrays/for-each, iterator/for
2-dimensional arrays, conditional operator
10 Chapter 6
(skip p.244-248)
Appendix E
More Sophisticated Behavior

Running Java without BlueJ
libraries, logging, immutable, Random, HashSet/Map, .split, regex
class constants, autoboxing, wrapper classes, class methods
main method, Driver class
11 Chapter 8 Designing Classes coupling, cohesion, encapsulation, refactoring, enum, switch, toString
Chapter 9
(skip p.339, 353-354)
Chapter 10
Chapter 5
(skip p.186-196)
Well-Behaved Objects

Improving Structure with Inheritance
Functional Processing of Collections
testing, debugging, JUnit, JavaDoc, tracing

inheritance hierarchy, subclasses, extends, cast, Object Class
lambda syntax, forEach method
FINAL Chapter 1-8 Kahoot Review

Lecture Slides

  1. Chapter 1
  2. Chapter 2
  3. Bits & Bytes
  4. Chapter 3
  5. Class & Object Diagrams
  6. Chapter 4 (Week 1)
  7. Chapter 4 (Week 2)
  8. Chapter 4 (Week 3)
  9. Coding
  10. Chapter 5
  11. Chapter 6
  12. Using Java without BlueJ
  13. Chapter 7
  14. Chapter 8
  15. Chapter 9
  16. Chapter 10
  17. IOOP REVIEW 1
  18. IOOP REVIEW 2
  19. Chapter 11
  20. Chapter 12
  21. Chapter 13
  22. Chapter 14
  23. Chapter 15
  24. Chapter 16
  25. Recursion and Sorting

Review Guides

  1. IOOP Midterm Review
  2. IOOP Final Review
  3. OOPDA Midterm Review
  4. OOPDA Final Review

- Grading -

The grading components will be as follows:
% Criteria Details Date
10 Pre-Labs Lab prep work Weekly
30 Post-Labs Lab follow-up check Weekly
30 Mini-Quizzes Quiz assessments Weekly
30 Midterm Midterm theory assessment 2/27-2/28

IMPORTANT: Students must obtain at least a 50% in EACH of the above components to receive a passing grade. Each component is very important and together are designed to assess the understanding of the material and skills that cannot be thoroughly tested by any one component alone. Students who do not achieve this level of competence will receive a NON-PASSING grade to advance, regardless of the overall average grade. Note that a grade of C- or better is required for this course in order to advance with fulfillment of pre-req to CS 04.114 Object-Oriented Programming/Data Abstraction (OOPDA).

NOTE: Due to the structure of the course with some solutions being provided immediately after the deadline, there will be NO extensions to deadlines and absolutely NO late submissions accepted. In the case of labs, ensure submissions are complete with proper format and resubmit using second attempt (when permitted) prior to the deadline as only the last submission will be graded. Allow ample time to submit and to check that submissions are properly uploaded and viewable by not waiting until the last minute. Also, be reminded that all labs MUST include the academic integrity statement and all code MUST compile; otherwise, a 0% grade for the lab may automatically result.

Once 50% competency on ALL components are met, the final course grade will be determined as follows (course may not be taken as Pass-No Credit):
 %  Grade
100 to 93 A
<93 to 90 A-
<90 to 87 B+
<87 to 84 B
<84 to 80 B-
<80 to 77 C+
<77 to 74 C
<74 to 70 C-
<70 to 67 D+
<67 to 64 D
<64 to 60 D-
<60 F

- Helpful Information -