T. Andrew Yang, Ph.D.

Email: yang@uhcl.edu

Web page:  http://sce.uhcl.edu/yang/

Tel.: (281) 283-3835

Last updated:

7/26/2012: exercises on OOP

7/11/2012: extended deadlines for Labs 4 and 5

7/1/2012: add exercises on Loops/Iterations

6/28/2012: sample exam1 posted

6/8/2012: changes of due dates (All due dates have been changed to Thursday.)

6/4/2012: first posted

CSCI 3134 Software Development with Java

Summer 2012  (June 4 August 4)

·       Important Information:

-        Join the discussing group for announcements and discussions: http://groups.google.com/group/csci3134-summer-2012. Note: Everyone enrolled in the class as of the first day of the class should have received an invitation email to join the group. If you are enrolled after the semester starts or simply have not received that invitation, contact the instructor immediately (by, for example, sending an email request with your full name and id).

-        Class Notes, Topics & Schedule (Print out the class notes for the day and bring them to the class.)

-        Assignments & Projects                TA Hours

·       Resources

-       Java Programming Examples and Related Topics

-       Source Codes from the book

-       A sample flowchart

-       Collection of UML resources

-       Additional resources


Time & Classroom

Tues. & Thur., 3 - 5:30pm (Delta 203)

Course Description: Software development with the Java programming language and the Java class libraries. Design of applets and standalone Java applications. Laboratory instruction.

Prerequisite: Some previous programming experience (e.g., C, Pascal, Visual Basic, etc.)

Course Objectives: Upon successful completion of this class, students will be equipped with understanding of the Java programming language, and have experiences in designing and implementing object-oriented programs to solve computer-based problems.

 

Learning Outcome:

1.     Develop programs using basic Java constructs such as iteration, conditional statements, and exception handling

2.     Understand the fundamental concepts of object-oriented modeling

3.     Develop programs with basic data structures in Java (like arrays)

4.     Utilize basic file and stream I/O in Java programs

5.     Understand the fundamentals of object-oriented programming in Java including classes, members, interfaces, inheritance, and polymorphism

6.     Use introductory UML techniques including class diagrams for programming solutions

using Java

Class Format: Lectures are combined with discussions and, if applicable, student presentations and discussions of advanced topics. Students are expected to be active participants, by studying the relevant chapters and/or research papers, and participating at in-class discussions.


Instructor: Dr. T. A. Yang

(office) Delta 106

(phone#) (281) 283-3835 (Please leave a message if not available.)

NOTE: If the suite office is locked, you may use the phone outside the office to call me (by entering the extension 3835).

(email address) yang@uhcl.edu

Important notes:

-       Emails without a subject line or signature will be considered as potentially malicious and be discarded. Here is a sample subject line: "CSCI3134 project #1, question 1".

-       Although email messages tend to be informal, please check the grammar and spelling of your messages to ensure their legibility.

-       Your full name should appear at the bottom of your message.

(Web site) http://sce.uhcl.edu/yang
NOTE: Find the assignments and/or projects at the Assignments & Projects page.

(Office Hours) See http://sce.uhcl.edu/yang/teaching/officeHours.htm
NOTE: In addition, you are highly encouraged to send your questions to me by e-mails (yang@uhcl.edu). Try to provide sufficient details in your email message, such as the problem(s) you have encountered, the solution(s) you have tried, and the outcome you have got from these solution(s).

Teaching assistant info and office hours:

 

TA – Rajani Kailasa (Rajani.kailasa@gmail.com)

 

TA Office Hours – Note: The hours are subject to change until the end of the first week. Contact the instructor immediately if you’ve got any problem with the TA.

Tuesday: 5:30pm – 8:30pm

Wednesday: 11am - 1pm

Thursday: 11am - 1pm

 


Required Text:

·   Deitel & Deitel. Java How to Program (early objects), 9th Edition.

Prentice Hall. March 7, 2011. ISBN-10: 9780132575669. ISBN-13: 978-0132575669.

http://www.amazon.com/Java-Program-early-objects-Deitel/dp/0132575663)

Note: The textbook is also available from the UHCL bookstore (http://uhclearlake.bncollege.com/).

Note: The same textbook is to be used in csci3234.

·   plus instructor's handouts in the class and/or on the Web

Recommended (but not required):

·       UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3rd Edition, Martin Fowler. Addison Wesley. (2004) ISBN 0-321-19368-7 (http://www.amazon.com/UML-Distilled-Standard-Modeling-Language/dp/0321193687/ref=dp_ob_title_bk)

Additional resources:

·       Source Codes and other resources for the book

-       Available in the CD accompanying the book

-       http://media.pearsoncmg.com/ph/esm/deitel/java_htp9e/code_examples/code_examples.html: You may also visit the book’s web site to download the resources.

·       Java-related:

-       Java SE Downloads: http://www.oracle.com/technetwork/java/javase/downloads/index.html

-       Java Installation Instructions: http://www.oracle.com/technetwork/java/javase/index-137561.html

-       Java SE 6 Documentation: http://download.oracle.com/javase/6/docs/

-       Java SE 6 API Specification: http://download.oracle.com/javase/6/docs/api/

·       UML and other graphical modeling:

-       UML tutorials & web resources

-       A sample flowchart

 


Topics and Notes
NOTE: The following schedule will be followed as much as possible, although changes are probable. Always check with your instructor if you are not sure what would be covered next week.

wk (dates)

Topics & Slides (Chapters)

Tasks (Due Dates)

1 (6/5, 7)

Syllabus

A.    Application Development & Java

-       Computers, Applications, and Java (Ch. 1)

-       Java software development environments (Lab 1)

2 (6/12, 14)

-       Java Applications (Ch. 2)

-       Software development

-       Discussion of lab 2

 

Lab 1 (6/14)

3 (6/19, 21)

B.     Fundamental Java Constructs

-       Object-Oriented Programming: Classes, Objects, Methods and Strings (Ch. 3)

 

Lab 2 (6/21)

4 (6/26, 28)

-       Control structures: conditional statements, iterations/looping (Ch. 4)

Review for exam #1                

Sample Exam #1

 

Lab 3 (6/28)

5 (7/3, 5)

-       Control structures: conditional statements, iterations/looping (Cont.: Ch. 5)

-       Exercises on Loops/Iterations (new)

Exam #1

 

 

 

Exam (7/5)

6 (7/10, 12)

-       Arrays: part 1 (Ch. 7)

-       Files and Streams: part 1 (Ch. 17)

-       Files and Streams: part 2 (Ch. 17)

 

 

7 (7/17, 19)

C.    Object-Oriented Development (OOD)

-       Arrays, part 2

-       More on Object-Oriented Programming: Classes, Members, Interfaces (Ch. 8)

-       Inheritance (Ch. 9)

Lab 4 (7/17, 8:30PM)  ß New

8 (7/24, 26)

-       More on Object-Oriented Programming: Polymorphism (Ch. 10)

-       Exercises on OOP (new)

Lab 5 (7/24, 8:30PM)  ß New

 

 

9 (7/31, 8/2)

D.    Example Java Applications

-       Exception Handling (Ch. 11)

-       Java Applets (Ch. 23)

Review for exam #2

Exam #2

Lab 6 (7/31, 8:30PM)  ß New

 

 

Exam (8/2)

 

 

 


Computer Labs:

Although all computers in the labs in UH Clear Lake should have been configured to run Java applications, you are strongly advised to set up your own computer(s) to do your projects.

·       Windows account information at: http://sce.uhcl.edu/accountSearch.html

·       Click http://sce.uhcl.edu/NTLabIntroduction.asp for the list of available software in the PC lab.

Evaluation:

category

Percentage (min ~ max)

Labs (5% each X 6)

30%

Exam 1

30%

Exam 2

35%

Attendance++

5%

Class Participation+++

0% ~ 3%

Total:

100% (0% ~ 103%)

++ Attendance Policy: You are expected to attend all classes. There will be no penalty for a persons first two absences without documented excuse. 1% will be taken for each of the absences after the first two absences. Note: Being tardy is no excuse when a person is found to be absent from the class.

Note: If you ever miss a class, it is your responsibility to get hold of whatever may have been discussed in the class.

+++ Class Participation: Participating in the class is expected. You should ask or answer questions during the in-class or online discussions. Up to 3% may be granted to students who are active participants.

Grading Scale:

The accumulated points from all the categories determine a person's final grade. There will be no extra-credit projects.

Percentile

Grade

90% or above

A

87% - 89%

A-

84% - 86%

B+

80% - 83%

B

77% - 79%

B-

74% - 76%

C+

70% - 73%

C

67% - 69%

C-

64% - 66%

D+

 

60%-63%

D

 

57%-59%

D-

Less than 57%

F

Tests & Exams:

Both analytic and synthetic abilities are emphasized. Being able to apply the learned knowledge toward problem solving is also highly emphasized in the tests. 

Unless due to unexpected, documented emergency, no make-up exams will be given. No make-up exams will be granted once the exams have been corrected and returned to the class.

Assignments and Late Penalty:

Assignments and projects will be posted at the class web site. Assignments & projects are due before the beginning of the class on the due day. See Topics and Notes for the due dates. 

Points will be deducted from late assignments: 20% for the first 24 hours after the due time, 40% for the next 24 hours, 70% for the third 24 hours, and 100% after that. No extension will be granted except for documented emergency. Starting to work on the assignments as early as possible is always the best strategy.

 

Assignments Guidelines:

a. Identification page: All assignments must have your name, and course name/number/section number (e.g., CSCI3134-01) at the top of the first page.

b. Proper stapling: Staple all the pages together at the top-left corner. NOTE: Do not use paper clips.

c. Order ! Order! Arrange the solutions following the sequence of the questions. Write the question number at the top-right corner of each page.

d. Word processing: It is required that you type your reports (e.g., print them using a printer). Use a word processor and appropriate typesetting and drawing tools to do the assignments. Spell-check the whole document before printing it. You may lose points due to spelling or grammatical errors. 

Projects:

The projects will involve the design and implementation of Java applications to solve various problems. Students are expected to employ the theories and techniques learned in the class to design the system.

Details of the projects will be made available at Assignments & Projects.

NOTE: Unless otherwise specified, all assignments and projects are individual work. Students should take caution not to violate the academic honesty policies. Check out the details at this link.

 


Instructor's Notes:

  • Important: If you think you have lost some points due to grading errors, make sure you approach the instructor within a week after the assignment, project, or test is returned to you.
  • To get the most out of this class, you need to read the textbooks and spend time using computers regularly. Be prepared for a class by previewing the material to be covered in that class and participate in discussions and problem-solving exercises, if applicable, in the class.
  • Due to the intensive nature of Computer Science classes, 15-20 hours per week are expected of students in studying the textbook/notes and working on the assignments, in addition to class attendance. Expect to spend more hours during summer sessions.

Related Links:

·       UHCL General Program Requirements: http://www.uhcl.edu/XDR/Render/catalog/archives/125/06/

 

·       Withdrawals, Appeals, GPA, Repeated Courses, and the 6 Drop Rule: http://www.uhcl.edu/XDR/Render/catalog/archives/125/06/%23A0110#A0110

 

·       ASSESSMENT FOR ACCREDITATION:

The School of Science and Computer Engineering may use assessment tools in this course and other courses for curriculum evaluation.  Educational assessment is defined as the systematic collection, interpretation, and use of information about student characteristics, educational environments, learning outcomes, and client satisfaction to improve program effectiveness, student performance, and professional success. This assessment will be related to the learning objectives for each course and individual student performance will be disaggregated relative to these objectives.  This disaggregated analysis will not impact student grades, but will provide faculty with detailed information that will be used to improve courses, curriculum, and student performance.

Go to the Index