Comp 170
Introduction to Obejct-Oriented Computing
Fall, 2018

Day/Time: Tuesday, 5:30 - 8:20
Prerequisites: none
Instructor: Dr. Channah Naiman
email: naiman@htc.edu



Syllabus Index HTC Policies
Syllabus Index
Objectives Exams  
Texts and Software Grades
Class Format, Attendance Programming Environment
Homework/Assignments Course Schedule
Project
HTC Policies
Accommodations Attendance
Academic Integrity Incomplete Policy
Technology Policy HTC Resources
Conceptual Framework Mid-semester Progress Reports
Course Evaluations


Conceptual Framework

Conceptual Framework

"To Learn, To Teach, To Observe, and To Do."  The student should be a Critical Thinker, Effective Communicator, Proactive Educator, and Moral Practitioner.



Course Objectives:
NOTE:  We are using the Java JDK 10.  JDK 9 is installed on the labs (last time I checked), and it is perfectly fine to use for this course.
For anyone interested in the differences in this upgrade, Oracle has listed them here.  For basic programming skills, it will not make a difference.

Course Materials:  

Course Format:

There is recent evidence that with all the online resources available, a hybrid approach is useful for on-campus courses.  Class time will include lecture, and also  individual help, using flipping:  flip when you get most of your presentations and do much of your homework, so the text/videos are mostly at your convenience, at your speed, and then in class discuss questions you had on the presentations and do much of the harder creative work of synthesizing and using this information, when you have the most direct support from me.  I will probably start with more lecture, and as you get more comfortable with the ebook and videos, flip the class more as we progress through the course.  This is especially the case for the project, where you will want more individual help from me.  

Class time is valuable and in short supply, so there are some tradeoffs in this approach.  You cannot immediately get a question answered by me in the middle of a video or PPT presentation.  That is offset by the fact that you have time to get emailed feedback before you finish viewing.  It would be helpful if you kept a list of questions as you watch the videos.  You may find that some of your questions will be answered as you continue to watch the videos or PPTs, and some you will want to bring to class.  There is a whole week between classes, so please email me with questions (and we can Skype and/or zoom), so that you don't waste the time between classes.


 


Homeworks/Assignments:

Lab Assignments:  For most labs, you  are required to participate and to show me your work at the end of lab.  This will count for lab credit.

Homework Assignments:  There is programming homework nearly every week.  This is the best way to solidify what we have learned.  Programming is like reading--you learn to read by reading, and so too you learn to program by programming.

Pair Programming:  It has been demonstrated recently that Pair Programming, two people collaborating on one problem with one person coding while the other looks on, whether beginner students or seasoned professionals, allows projects been done better and faster with more confidence, and also that students learn at least as well and have more enjoyment in the process.  We will have the option to do pair programming in this course for in-class work and programing assignments.  (Your exams will NOT be in pairs however!)  Read the page on how to make pair programming work and also the page of administrative guidelines for pair programming (mostly for when it does not work out as planned!). 

Project:  You will form teams of two or three, to complete a project, which is a major programming assignment in JAVA.  Some suggestions for the project can be found here. This will be discussed further in class.


Programming Environment:

We will be programming in Java, which is easy to download to your own computer. Good installation instructions for all platforms.  There are several choices based on program version and operating system. We will be programming mostly in the command line/terminal window.  There are many IDEs (Intergrated Development Environments) available for use with Java, notably Eclipse, which we will not be using.  We may use IntelliJ later in the semester.  Please note that after installing Java, you must add it to the path variable (Windows), or set JAVA_HOME (Mac).    See the installation instructions in the Orientation module.    

Project:

There is a final project,which will be the focus of the last third of the course.  Here are some sample projects (some are templates--bare bones, which clearly need to be enhanced in order to be interesting).    Detailed instructions are requirements for the project will be posted on CourseSites, and we will discuss the project in class.      



Exams:  There are two exams scheduled, one on 12/11, and one on 1/15.   I reserve the right to  cancel the final exam, if, in my judgment, your Final Projects demonstrate sufficient mastery of the material.  Don't count on it--the projects have to be truly excellent for me to do that, but it has happened on rare occasion.
Exams will cover material discussed in class, labs, and homework assignments.   You are allowed at  two 8.5 x 11 inch sides of notes for exams, but no computer or calculator. I emphasize having you process and use information, not regurgitate facts -- put the facts you most forget and still need in your notes. This is very different than many of the requirements some students had in high school, where fact recall may have been key. What you want most to remember is general patterns about the process of breaking problems into pieces and identifying the right process for each piece. The pieces may come in all sorts of combinations, so remembering whole rote sequences is not likely to be helpful. Do not depend on it.

There will be  a review for the exams posted on CourseSites.


Grading:


Orientation and Installation 30
Lab Exercises
All labs are worth 10 points, except for :
Labs 1, 2 and 4, which are worth 15 points.
170
Programming Homework 
All homeworks are worth 30 points, except for:
HW  7-1, 7-2, 12-1, 12-2, which are worth 20 points each
Extra 10 points for completing all homeworks
Extra credit avaialble in  many homeworks
300
Exams (Exam #1:  150 points)  (Exam #2:  200 points) 350
Project 200
Total 1050



Course grades are assigned as follows:
A+ 97
A
93
A-
90
B+
87
B
83
B-
80
C+
77
C
73
C-
70
D+
67
D
63



Course Schedule:

The dates below give the sequence and a general idea of the time spent, though we may get ahead or behind this time schedule at different points, depending on the needs of the class.  Every attempt will be made to meet this timeline, and changes will be posted on Sakai.  Links for supporting docuements and files, and submission links for assignments are on Blackboard (or Coursesites).   Links for assignments and exam reviews below may be inaccurate (not updated) or missing until their introduction in class. 


Week
Date Activities Assignments
0 before classes Orientation:  Syllabus, Pair Programming:  the idea and administration
Install Java JDK, fix path(Windows), test program
Install Java JDK and also atom, a short video intro,

Text Editors:
Install Notepad++, (for Windows users.  Use the 32-bit version);  or SublimeText, or atom.io
Optional for Windows users:  Configure notepad++ as an IDE (very cool)
Mac user:  TextWrangler --now part of BBEdit (if not using Sublime or atom) (not my favorite, but some people love it)
Mac users who want to  try something different:  you can install Notepad++ on the Mac, using Winebottler..(Youtube, also.)
   (I can't configure np++ for compiling and running on the mac.  Yet.)
Orientation Videos,
Install Java JDK, Text Editor
See Orientation Module on Sakai
1 10/9
Orientation, if not completed earlier

  • Ch 1:  Introduction to:
    •  computing:  hardware, software, the context of programming, compilers interpreters
    • Java:  bytecode, JVM, JDK ????
    • compiling and running a program
    • types of errors
  • Lab:  First Program, deconstructed  (Use lab  files from text)
  • Maybe a JavaFX HappyFace, time permitting
DUE:  Lab 1, in class
(possible extended due date of 10/11)
Assign:  HW 1
2 10/16
  • Ch 2:  Basic Computation:
    • Data types
    • Variables
    • Operators and basic operations
    • Strings
    • Keyboard and String I/O
    • (Documentation and Style)
  • Lab:  (use source code from text plus input.java)
  • Using JOptionPane in graphics
DUE: Orienation Assignments
DUE:  HW 1
DUE:  Lab 2
(possibly extended 10/23)
Assign: HW 2
3
10/23
  • Chapter 3:  Selection (Branching)
    • What is a condition?  Boolean expressions, values, variables
    • if--else:  simple, nested, multibranch
    • appropriate comparison operators (==, equals, etc.)
    • switch and enumerations
    • cool graphics
  • Lab (two parts):  programming with IF statements, and correclty interpreting code
  • Chapter 4:  Loops  (first half of chapter, if we're lucky)
    • While
    • do-while
    • for loops (variables within a for loop, use of comma)
    • for-each
DUE:  HW 2

Assign:  HW 3
Assign:  Lab 3, Part 1 and Part 2
4 11/06
  • Chapter 4, continued
    • practice with loop control
    • break and continue
  • Lab:  looping
  • work on Chapter 4 assignments
Due:  Lab 3
DUE:  HW 3
Assign: Lab 4, HW 4
5
11/13
  • Chapter 5:  Classes and Methods
    • review properties of object-orientation:  inheritance, encapsulation, polymorphism
    • Defining Classes and Methods (review class vs. object; cookie cutters and cookies)
      • pre/post conditions; parameters
    • instance variables/local variables
    • void methods, and methods that return a value; return control
    • What is "this"?
  • No lab assignment  this week.  We'll  start working on Lab 5-1, but it's not due for two weeks.  But don't worry--we have another lab (5-2) next week anyway!

DUE:  Lab 4, HW4

6 11/20
  • Chapter 5, continued
    • information hiding and encapsulation
    • classes as types (parameters and varaibles)
    • accessor and mutator methods  (a.k.a. getter and setter)
    • a little bit of JavaDoc
    • a little bit of UML
Assign Lab 5-1, Lab 5-2HW 5
7 11/27
  • Chapter 6:  More About Objects and Methods
    • Constructors (creating new objects--like a cookie cutter)
    • Static variables and methods and the division of labor (decomposition)
    • Write your own methods
    • overloading
    • protecting from change
    • using packages
  • Review for Exam
Assign:  Lab 6-1, Lab 6-2,   Hw-6
8 12/04 Continue Chapter 6
DUE:  Lab 5-1, Lab 5-2HW 5
Assign:  Lab 7-1, Lab 7-2
Assign:   HW 7-1, HW 7-2
9
12/11
Wxam (Chapters 1 - 6)   Study Guide     Practice Exam
Chapter 7, Arrays 
DUE:   Lab 6-1, Lab 6-2,
10 12/18 Chapter 7, continued and project discussion DUE:  Hw-6
11 12/25 Chapter 8:  Inheritance, Polymorphism and Interfaces
project checkup
Due Lab 7-1, Lab 7-2; HW 7-1, HW 7-2
Assign:  Lab 8-1, Lab 8-2, HW-8
12
1/01
Chapter 10:  Files   and Chapter 12:  LIsts and Maps DUE:   Lab 8-1, Lab 8-2,; HW 8
Assign:  Lab 12-1, Lab 12-2
Assign:  HW 12-1, HW 12-2
13
1/08
Project work
14
1/15
Project Presentations  and Exam 2 (Chapters 6 - 12)  Project Due


HTC Policies

Attendance and Participation

  1. Students are required to attend, be prepared for, and actively participate in all classes.
  2. Students are required to attend all classes. In the case of absences, a student must communicate with instructor immediately via email.
  3. Students absent for over 25% of scheduled classes will have their final grade lowered by one letter grade.
  4. Students absent for over 50% of scheduled classes will receive an F (failure) in the course.

Please note that without extenuating circumstances, this policy may not be changed by the instructor. If you have any problems or concerns, please see Dr. Tessler.

Academic Integrity

Hebrew Theological College is committed to providing an academic community and learning environment based on honest inquiry and pursuit of knowledge that fosters commitment and adherence to Judaic tenets. The faculty and administration of Hebrew Theological College have specified the following acts as serious violations of personal honesty and academic ideals that jeopardize the quality of education within a Torah environment:

More information about HTC’s Academic Integrity policy can be found on page 15 of the Student Handbook.

Accommodations 

Any student, who, because of a disability, may require some special arrangements in order to meet course requirements should contact the instructor as soon as possible to make necessary accommodations and share appropriate documentation from the Office of Special Services, provided by HTC’s Disabilities Officer, Dr. Richard Aronoff.

Accommodations will be made, but instructors must be aware of your needs in order to make proper accommodations. It is the responsibility of the student to make these needs known in a timely fashion and to provide documentation prior to the beginning of any semester in which accommodations are desired.

Incomplete Policy-- Crisis Management

This is available ONLY to students with extreme and/or extenuating circumstances who

  1.  have completed 50% or more of the required course work.
  2.  have a grade of "C" or better on completed work.
  3.  request the "Incomplete" prior to the week of final examinations of the semester.
  4.  complete and submit an "Incomplete Contract" prior to final examinations.
  5. The "Incomplete Contract" must be signed by the course instructor and the Dean. Non-compliance by agreed date will result in a permanent grade of FI (Failure/Incomplete).

Students who have not satisfactorily completed 50% of class assignments are not allowed to receive an incomplete grade. Students who do not have a grade of “C” or above average are not allowed an incomplete. Students must request an incomplete prior to the week of finals. The instructor may refuse an incomplete request. It is the student’s responsibility to request an Incomplete Form from the school office, have the form signed by the instructor, Dean, themselves, and return it to the instructor prior to the final. If the student fails to return the completed form to you when grades are due, the student is to receive the grade they would have received if they had not requested an incomplete. Instructors will define the amount of time allowed to complete the missing work, however, the time allowed cannot exceed 12 weeks after the end of the semester in which the incomplete was requested. If the student fails to remove the incomplete within 12 weeks, the grade will be recorded as an “IF,” meaning failure due to an incomplete. An “IF” will be counted as an “F” in the student’s GPA and will be part of the student’s permanent record.

Technology Policy

HTC bans the use of cell phones, computers and other devices for texting,

web-browsing or other non-class related activities during class. This behavior may result in expulsion from the course after a single warning. Electronic devices may not be used during exams, and their use in class is subject to faculty discretion and permission. Only students with documented disabilities who must use such devices may request exemptions as documented.

HTC Academic Resources

Hebrew Theological College is committed to providing all of our students with various resources and support for academic success. Tutorial services through the Writing Clinic, Math Center, and Hebrew Tutoring Center provide assistance in a variety of disciplines. Students should make arrangements to avail themselves of these services. Librarians at the Saul Silber Memorial Library are available to assist students with all their research needs. Students can find information about the library services and resources at http://htclibrary.weebly.com. 

 Mid-Semester Progress Reports

Mid-way through the semester, your instructor will evaluate your progress in this course and share this feedback with the deans. This information will be used for advising purposes. You can view the form at http://tinyurl.com/HTCMSPR.

 HTC Course Evaluations

In order to help make the course evaluation process more convenient and ensure student privacy, you can now submit secure, anonymous course evaluations online via LiveText! Your instructors will provide time in class to complete the form, but you can also fill it out on your own at any time. Your feedback will be shared with your instructors after grades have been turned in. Instructors are eager to know how they can improve and rely on your feedback as a central part of their professional development. This is your opportunity to express your thoughts about your experiences at Hebrew Theological College. Your voice matters.