CIS 1068 Program Design and Abstraction


today's news

 

Course Information : Fall 2016

Final Options:

Dec 20, Tuesday, Gladfelter 13, 3:30 - 5:30 

Syllabus
Instructor
Schedule:

        M 5:30 - 8:00 pm Tuttleman Learning Center 0302

        W 5:30 - 7:20 pm SERC 357
Office: SERC 353, Main Campus  

             1925 N. 12 St.

             Philadelphia, PA 19122-1801

Office phone: TBA (Please use email for the primary contact) 

Office hour: E-mail at zhen[dot]jiang[at]temple[dot]edu is required to make a reservation.
Teaching assistant: If you have any technical problem or any question on your grading and comments of your homework, please contact Robert Zahorchak at tuf33757[at]temple[dot]edu. Other issues please refere to the instructor.

Tutor: Information can be found at this link.

 

Weekly Homework

Due by Friday 11:59 pm every time, check the exact submission date in the table of course materials.

Detailed work - Assignment will be available at this site after each class on Monday around 10:30 pm. 

Types of work - exercises in class, and practice problem posted online as homework assignment.

Submission - via email (please check with TA in the lab class)

 

Course materials (For the clarification of workload, please email to your instructor, Dr. Zhen Jiang)

Topics Class presentation Homework assignment Outline of lab class 
Introduction to environment and basic I/O (warm up 1)

Input, output, variable, assignment, calculation, string

Homework Pre1 Part A: You must finish the following work but no submission is needed.

  1. Go over the check list.

  2. Install and test NetBeans (and jGRASP).

  3. Create the following programs, and then run them to see the results. Welcome.java and Welcome1.java on slide 3, the program that answers the questions on slides 18-19, FirstProgram.java on slide23, Variable.java, ChangeMaker.java, CircleCalculation2.java, Swap.java, Payroll.java and Payroll2.java.

Homework Pre1 Part B. 

  1. Answer all the questions in practice problem (pdf, doc) and finish the program development (2 programs:KeyboardInput.java, and TipCalcualtion.java). 

Now, you must have a taste of heavy load in this class.

Lab 1 on 8/31: 
  1. Check the installment and use of NetBeans (and jGRASP).

  2. If time allows, run the programs of Homework Pre1 Part A: Welcome.java and Welcome1.java on slide 3, the program that answers the questions on slides 18-19, FirstProgram.java on slide23, Variable.java, ChangeMaker.java, CircleCalculation2.java, Swap.java, Payroll.java and Payroll2.java.

Decision (warm up 2) if, if-else, condition, nested, switch Homework Pre 2 Part A: Finish the following work but no submission is needed.
  1. Key-in and test 2 programs listed in slides (on slide 8, BankBalance.java; on slide 28, Grader.java).
  2. boolean value tracing, operator design, simple expression, multiple case coding.  

Homework Pre 2 Part B. 

  1. Answer all the questions in practice problem (pdf, doc) and finish the program development (3 programs:DivisionReport.java, PosNegReport.java, and CallNumber.java). 

Now, you must have a complete learning of how to build decision making statement, from knowing the excution of decision making statement, to building it with operator, the entire boolean expression, the solution for true/false case problem, and the one for mulitple choice problem. Sample quiz and its solution

Lab 2 on 9/7: 

  1. Explain the solution for practice problem of homework Pre 1 Part B if there is any question from students.

  2. Discuss Homework Pre 2 Part A and check the solution for self-evaluation.

 

Loop for, while, do-while Homework 1 Part A (no need for any submission in this part): 
  1. Study the counter-controlled loop programs listed in slides: 
  • WhileDemo.java on slide 8

  • DoWhileDemo.java on slide 11

  • Star.java on slide 45

  • Square.java on slide 46

  • Number.java on slide 47

  • StarWithSpace.java on slide 49

  • Triangle.java on slide 50

  • TriangleNumber.java on slide 51

  • TriangleSpace.java on slide 52.

  1. Study the event-controlled loop programs listed in slides: 

  • ForDemo.java on slide 14

  • Factor.java on slide 55

  • NegativeInput.java on slide 57

  • TotalDigit.java on slide 59

  • CountFactor.java on slide 61

  • Roll.java on slide 71

  • PrintNumbers.java on slide 77. 

  1. Exercises in ppt file: 
  • Loop program tracing - slide 32 - (pdf, doc).
  • Loop program development - slide 65 - (pdf, doc).

Homework 1 Part B: please submit the following work before Friday 9/9, 11:59 pm. 

  1. Provide the solution for practice problem (pdf, doc).

Now, you must have a complete view of how a loop problem can be executed and what is its results (in both memory and printout screen). 

Homework 2 Part B: please submit the following work before Friday 9/16, 11:59 pm. 

  1.  Develop the program as required (pdf in this link, doc) and submit the following programs: Diamond.java, Prime.java, Perfect.java, and Craps.java.. 

Now, you must have a complete view of how to develop a loop program. 

Quiz on loop 

Lab 3 on 9/14: 

  1. Explain the solution for practice problem of homework Pre 2 Part B if there is any question from students.

  2. Explain the solution for practice problem of homework 1 Part B if there is any question from students.

  3. Go over the development process on slide 33.

  4. Try the exercise on slide 62. Each program shows a question in the random manner. Keep trying until you have a chance to make the correct answer (i.e., locate and fix the only mistake existing). You do not need to submit anything, but you experience and knowledge will help you understand the discussion in class.

  5. If time allows, discuss Homework 1 Part A and check the solutions: program tracing and loop development - fill in blanks

 

Array arrays, multi-dimensional arrays, and loop

Homework 3 Part A: Review the declaration and usage of array: 

  • Weather.java on slide 20

  • DigitCounting.java on slide 23-24

Homework 3 Part B: please finish the following work before Friday 9/23, 11:59 pm. 

  1. Provide solutions for the pactice problem (pdf, doc) and submit the following 3  programs (MinMax.java, Swap.java, Even.java). 

Now, you must have a view of how to use the sequence of 1st, 2nd, 3rd ... iterations to implement the access/use of 1st, 2nd, 3rd ... elements in an array. Do not forget new and delete, no ( ) needed for array.length.

 

Quiz on array 

Lab 4 on 9/21: 

  1. Explain the solution for practice problem of homework 2 Part B if there is any question from students.

  2. Review the materials in Homework 3 Part A. 

  3. If time allows, continue the exercise on slide 62

Text processing char and String

and

file processing 

Homework 4 Part A: Finish the following work but no submission is needed.

Homework 4 Part B: Please submit the work for the practice problem (pdf, doc)  to Blackboard System before Friday 9/30, 11:59 pm. 

  • Show the results of 8 programs in part 1 by your own estimation.
  • Then, use computer to verify your analysis. 
  • In part 2, develop StringConcat.java. 

Now, you must have the knowledge of the search (indexOf), replacement (indexOf, subString), comparison (equals), charAt, length (do not forget to add "(" and ")"), and other useful method-calls.

Homework 5: Please submit the work for the practice problem (pdf, doc)  to Blackboard System before Friday 10/14, 11:59 pm. 

Lab 5 on 9/28: 

  1. Explain the solution for practice problem of homework 3 Part B if there is any question from students.

  2. Review the materials in Homework 4 Part A and its answer for self-evaluation. 

Lab 6 on 10/5:

  1. Explain the solution and grading for practice problem of homework 4 Part B if there is any question from students.
  2. Check the solutions and grades of Homeworks 1-5
  3. Review the materials for mid term test.
Midterm 1   Test and solution

Check list  (doc) for our 1st midterm test. 

One A4 size cheat sheet (double side) is allowed to bring to the test.

The test is mainly on Loop. 

 

Warm up quiz

Lab 7 on 10/12 :

Midterm test, 120 minutes.

 

Object & Class

class, object, field, and UML representation

Lab 8 on 10/19:

  1. Explain the solution and grading for practice problem of homework 5 if there is any question from students.
Method  program decomposition and development of method Homework 6 Part A: Finish the following work but no submission is needed. Homework 6 Part B: Practice problem on method (pdf, doc). Please submit 
  • The print-out results of 5 programs.
  • MethodSignature.java with four methods.

by Friday 11/4,11:59pm. 

Now, you must have a complete view of  how the computer calls a (static) method (from inside or outside of the class where it is defined) and the scope of variables declared inside this method (including array), from tracing the program with a nested call,  the overloading, and the parameter(s). Students you should be able to apply the procedural decomposition and achieve the method signature in some simple situations.     

Homework 7: Practice problem on Method Development (pdf, doc). Please submit the following work by Friday 11/11, 11:59 pm.

  • Trace of 2 programs ReferenceSematnics and NestedCalls.
  • StringWalkthrough.java (Walking through step by step, only the final version is needed)
  • PrimeWalkthrough.java (Walking through step by step, only the final version is needed)
  • Taste.java (final version only)
  • PrintSteps.java

Now, you must have a tast of decomposition in coding the (static) method. It is a space and timing issue, for so many lines of code occupying the computer memory to support a call from any time in the excution when it is needed. The efficieny of such a support relies on how widely and how many different cases you had considered in the decomposition (generalzing the procedural abstraction).

quiz 6

Lab 9 on 10/26 and 11/2. 
  1. Study the solution of quiz 5, on string. Compare the programs with those on Homework 4A.
  2. Learn to complie mulit-class program (Dog.java and DogDemo.java).
  3. Template for multi-class program development
  4. Review the materials in Homework 6 Part A and its answer for self-evaluation. 

 

 

Lab 10 on 11/9.
  1. Explain the solution for practice problem of homework 6 Part B if there is any question from students.
  2. Review the assignment of Homework 7.
  3. Help to understand the difference of instance method and static method (Method.java and MethodDemo.java). 
  4. Help to understand the scope of local variable, parameter, and attribute, which includes all types of data, such as array and object. Materials are under this link.

 

Attribute: Field various types of data and their access Homework 8 Part A: Finish the following work but no submission is needed. Materials are under this link. Homework 8 Part B: Practice problem on instance method (pdf, doc).  Please submit the following work by Friday 11/18, 11:59 pm.

What is the difference between instance method call and static method call? How to develop instance method to support multiple file project? Why do we need constructor, accessor, and mutator, and how to implement them?

quiz-like exerciese (in class) , Quz 7, Quiz 8

Lab 11 on 11/16.

  1. Explain the solution for practice problem of homework 7 if there is any question from students.
  2. Review the solution for Homework 8 Part A.
Solving problems search and sorting Homework 9: Practice problem on search and sorting (pdf, doc). 

Please submit

  • trace results of binary search and Arrays.binarySearch
  • search technique development 2.a and 2.b 
  • sort method (Bubblesort).

by Friday 12/9, 11:59 pm. 

Lab 12 on 12/30: 
  1. Explain the solution for practice problem of homework 8 Part B if there is any question from students.
  2. Review the solutions for quizzes of static method and instance method.
Midterm 2 Test and solution

Midterm test 2, on Monday Dec. 5th.

Guideline for review

One A4 size cheat sheet (double side) is allowed to bring to the test.

Lab 13 on:
  1. Solutions for Quizzes.
  2. Explain the solution for practice problem of homework 9 if there is any question from students.
GUI support Polymorphism and interfaces Homework 10: Practice problem on inheritance (pdf, doc). 
Final

Final Test Review. This exam is close book and you CANNOT use any calculator, cell phone, etc. But you may use one 8.5x11 inch sheet of notes that you have written. You may use both sides. 

Practice  final exam 

 


return to Home