Course Syllabus

4002-219

Programming for Information Technology III

Fall (021)

 

 

Quarter Credit Hours:   4

Prerequisites:                 4002-217 and 4002-218

 

Instructor:                        Dr. Jai W. Kang

Office:                               Bldg 70-2289

Phone:                              475-5362

Email:                                jwk@it.rit.edu

Office Hours:                  TR 3-5PM

Web:                                 www.jkang.com

 

 

Overview:

 

This is the third course in the introductory programming sequence required for all students majoring in Information Technology.  Topics include advanced user interface concepts, data structures for programming, programming utilities and reusability, introductory project design and management concepts and other concepts as time permits.  Emphasis is placed on the development of problem-solving skills.  Large programming assignments are required

 

Class 5, Lab 0, Credit 4

 

Goals:

 

·        To provide students with an introduction to the advanced concepts and skills needed to support the programming requirements of up-stream courses in the IT curriculum.

 

·        To encourage students to continue to develop their problem solving skills

 

·        To encourage students to begin building a “logical toolkit” of algorithms and data structures

 

·        To enable students to understand the benefits of reusability

 

·        To assist students to understand program design and construction

 

Objectives

 

By the end of this course a student should have demonstrated:

 

1.      The ability to implement one or more moderately large programming projects individually and/or in a team

2.      an understanding of advanced GUI interface concepts through completing one or more programming projects

3.      proficiency with constructing and reusing objects

4.      a working knowledge of the basic data structures used in computer programming

5.      their ability to fully implement data structures as well as to use language-supplied utility classes

6.      a conceptual understanding of the details of data representation

7.      an understanding of and ability to utilize and to create application programming interfaces (APIs) and Java interfaces

8.      an understanding of and ability to use threads

9.      an understanding of and ability to use standard programming design patterns in problem analysis

10. an understanding of basic project design and management concepts

11. an understanding of basic network programming and network concepts as they relate to Java.

 

Textbook:

“Big Java” by Cay Horstmann, published by John Wiley & Sons, Inc., 2002. ISBN 0-471-40248-6

Note: This is the NOT the same text that was used last year

 

Assignments:

Lecture Preps:

Lecture preps will be made available to you as part of the course materials stored in FirstClass. However, they will not be collected and graded. By this time in your college career you should recognize the advantages of reading the material prior to class.

 

In-Class Exercises:

A certain amount of in-class work will be given during most class sessions.  Like the lecture preps, these will not be collected and graded. However, failure to do the in class exercises will affect you when you take the practicum and do the projects required for this course.

 

Bring an IBM formatted 3 ˝’’ diskette or 100MB Zip disk with you to every class to save your work. Make sure your name and section # are clearly marked on your disk.

 

Homework Assignments:

Programming assignments will be provided as part of this course. This work is done outside of the usual class hours. In general, these programs will be more complicated and larger than the in-class exercises. Homework assignments will be due according to the schedule (see below) with the exact date and time they must be submitted specified by the instructor. Homework assignments may not be submitted late.

 

In-Class Practicums:

There will be one in-class practicum given during the quarter to assess the student’s programming skills during live programming sessions in front of the course instructor(s).  Notes, textbooks and calculators will not be allowed during these times (unless special accommodations permit them).

 

Missing the practicum will result in a grade of zero unless the student contacts the instructor at least 24 hours in advance of that practicum. If student's reason is valid (documentation may be required), the student will be allowed to take a different make-up practicum at a later time.

 

Examinations:

Two examinations will be given during class periods.  The exams will be based on the material in the units of the preceding weeks and involve writing some code.  The exams are closed book, closed notes.  No calculators are allowed.  Access to the Java docs stored on the lab machines will be allowed.

 

Missing an exam will result in a grade of zero for that exam unless the student contacts the instructor at least 24 hours in advance of that exam. If student's reason is valid (documentation may be required), the student will be allowed to take the exam at another time.

 

Final Project:

A final project will be part of this course. Your final project will be the creation of a virtual robot using the RoboCode package developed by IBM’s Alphaworks group.

 

This will be a group effort, with small groups performing the design, implementation and testing of the necessary code. Design documentation and a users manual will be required deliverables, in addition to fully commented source code and test cases.

 

In addition to the actual coding, you will be expected to deliver a presentation to the class, where your group will discuss your design, implementation and testing processes. You will also cover lessons learned while doing this project. This presentation will be in place of a final exam. All group members are expected to participate in the presentation.

Grading Policies:

The weighting on the different parts of the course, explained above, is summarized in the table below:

 

Component

Percentage

Lecture Preps

0%

In-Class Exercises

0%

Homework

15%

In-Class Practical

25%

Exam 1

20%

Exam 2

20%

Final Project

10%

Final Presentation

10%

 

The following scale is used for grading:

 

Average

Grade

90.0% to 100%

A

80.0% to 89.9%

B

70.0% to 79.9%

C

60.0% to 69.9%

D

Less than 60%

F

 

Academic Honesty:

Please read over the attached page entitled “Academic Dishonesty Policy Department Information Technology”. Unless otherwise stated in the assignment requirements, all in-class and homework assignments are individual projects. Any group efforts will be treated as collusion and will be handled as stated in the department’s policy. [Exception: the final project is expected to be a group effort.]

Office Hours:

Office hours provide the opportunity to get questions answered or for additional help with programming problems. My office hours are TR 3-5PM.


 

Tentative Course Schedule: (May be changed as required by the instructor)

Wk

Day

Topic

Reading

Other

1

1

Course Introduction, 218 Review

Review 218 notes

HW#1 out

 

2

Inner Classes

Pg 376-386

 

2

1

GUI

Ch 10 & 12

 

 

2

Applet

Ch 4

HW#1 due, HW#2 out

3

1

Threads

Ch 21

 

 

2

Threads

Ch 21

 

4

1

Threads

Ch 21

HW#2 due, HW#3 out

 

2

Exam #1

 

 

5

1

Network Programming

Ch 22

 

 

2

Network Programming

Ch 22

 

6

1

Practicum #1

 

 

 

2

Data Structures & Algorithms

Ch 19-20

HW#3 due

HW#4 out

7

1

Collection Framework

Ch 19-20

 

 

2

Specialized IO

Pg 595-614

 

8

1

Unicode & Internationalization

Liang Ch 12

EXAM #2

HW#4 due

HW#5 out

 

2

Sorting/Searching/Comparators

Ch 18

 

9

1

Project Planning/ design final project

 

 

 

2

Testing Strategies/ Work on final project

 

HW#5 due

10

1

Presentation Skills/ Work on final project

 

 

 

2

Complete/Test final project

 

 

11

?

Final/Presentation

 

 

 


RIT’s Academic Dishonesty Policy

Plagiarism[1], and other academic actions contrary to RIT’s code of conduct and the IT Academic Dishonesty Policy will be addressed in accordance with these policies.

Department of Information Technology

ACADEMIC DISHONESTY POLICY

The following statement is the Policy on Academic Dishonesty for the Department of Information Technology:

The Department of Information Technology does not condone any form of academic dishonesty. Any act of improperly representing another person’s work as one’s own (or allowing someone else to represent your work as their own) is construed as an act of academic dishonesty. These acts include, but are not limited to, plagiarism in any form or use of information and materials not authorized by the instructor during an examination or for any assignment.

If a faculty member judges a student to be guilty of any form of academic dishonesty, the student will receive a FAILING GRADE FOR THE COURSE. Academic dishonesty involving the abuse of RIT computing facilities may result in the pursuit of more severe action.

If the student believes the action by the instructor to be incorrect or the penalty too severe, the faculty member will arrange to meet jointly with the student and with the faculty member’s immediate supervisor. If the matter cannot be resolved at this level, an appeal may be made to the Academic Conduct Committee of the college in which the course is offered.

If the faculty member or the faculty member’s immediate supervisor feels that the alleged misconduct warrants more severe action than failure in the course, the case may be referred to the Academic Conduct Committee. The Academic Conduct Committee can recommend further action to the dean of the college including academic suspension or dismissal from the Institute.

 

The following definitions will be used to clarify and explain unacceptable conduct. This is not intended to be an exhaustive list of specific actions but a reasonable description to guide one’s actions.

 

CHEATING includes knowingly using, buying, stealing, transporting or soliciting in whole or parts the contents of an administered/unadministered test, test key, homework solution, paper, project, software project or computer program, or any other assignment. It also includes using, accessing, altering, or gaining entry to information held in a computer account or disk owned by another.

COLLUSION means the unauthorized collaboration with another person in preparing written work or computer work (including electronic media) offered for credit. Final work submitted by a student must be substantially the work of that student. Collaboration on an assignment is expressly forbidden unless it is explicitly designated as a group project.

When there is any doubt, a student should consult the instructor (NOT ANOTHER STUDENT) as to whether some action is considered cheating and/or collusion.

Whenever there is any question as to whether a particular action is considered academic dishonesty, the instructor should be consulted prior to commencing that action.

[1] You are encouraged to review the following web sites which give information on writing skills and plagiarism:
                http://webster.commnet.edu/mla/plagiarism.htm
                http://www.hamilton.edu/academic/Resource/WC/AvoidingPlagiarism.html

                http://www.rhodes.edu/kamhi/center/plagiarism.html

                http://dir.yahoo.com/Social_Science/Communications/Writing/Plagiarism/

 

top