PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE
MASTER SYLLABUS
HIGH PERFORMANCE & DISTRIBUTED  COMPUTING
HPC 2600
Class Hours: 3.0   Credit Hours: 4.0  
Laboratory Hours: 3.0   Date Revised: Spring 03  
 NOTE:  This course is not designed for transfer credit.
Catalog Course Description:    
  A study of the Java programming language involving distributed and parallel applications. The emphasis will be on distributed-object computing, multithreading, networking, remote objects, Java and different flavors of parallel programming models and web based parallel computing. Concepts of exception handling, debugging, documentation and object-oriented programming will be an integral part of the course. 
Entry Level Standards:    
  College level reading and math skills; keyboarding skills of at least 20 wpm; familiarity with the UNIX or Windows operating systems and competent in at least one high-level programming language.
Prerequisites:    
  CSIT 1541 and HPC 2400; or consent of instructor
Textbook(s) and Other Course Materials:  
  David Reilly and Michael Reilly; Java Network Programming and Distributed Computing; Addison-Wesley
Recommended References: 
Rajkumar Buyya (editor); High Performance Cluster Computing: Programming and Applications, Volume 2; Prentice Hall
I. Week/Unit/Topic Basis:    
 
  Week  Topic
  1 Introduction – Java Overview
  2 HTML, UNIX and Distributed Computing Overview
  3 Control Structure, Methods ad Classes
  4 Object-oriented programming
  5 Object-oriented programming
  6 Exception Handling
  7 Servlets
  8 Multi-threading
  9 Multi-threading
  10 Networking
  11 Networking
  12 Remote Objects
  13 Remote Method Invocations (RMI)
  14 Java IDL and CORBA
  15 Project Presentations and Discussions
  16 Final Exam Period
II. Course Objectives*:    
  A. Use the syntax of the Java language. I II
  B. Use distributed and parallel programming concepts, tools and techniques. I II III IV
  C. Use Internet search tools and on-line resources to locate, use, download, upload and communicate effectively.  III V
  D. Write programs that meet written requirements and pass tests based on these requirements.  I II IV
  E. Demonstrate individual and teamwork standards compliance to accomplish given tasks within timeframes established.  IV V
  F. Develop an environment that serves customer and/or market needs. IV
  G. Write Java programs to solve a wide variety of distributed and parallel problems. I II III 
  H. Implement object-oriented software design techniques. I III
*Roman numerals after course objectives reference goals of the HPC program.
III. Instructional Processes*:     
Students will:      
  1. Produce distributed and parallel java applications. Problem Solving and Decision Making Outcome, Technological Literacy Outcome, Information Literacy Outcome, Active Learning Strategy
  2. Produce a fully working end-product as part of a collaborative effort for sharing with other class members. Communication Outcome, Transitional Strategy, Active Learning Strategy
  3. Use the Internet as a medium for obtaining documentation and instruction and for submitting assignments. Communication Outcome, Technological Literacy Outcome, Information Literacy Outcome, Transitional Strategy
  4. Develop web-based parallel software meeting specifications given. Communication Outcome, Technological Literacy Outcome, Information Literacy Outcome, Problem Solving and Decision Making Outcome,  Transitional Strategy, Active Learning Strategy
  5. Use professional tools to produce software components and documentation. Technological Literacy Outcome, Transitional Strategy, Personal Development Outcome
  6. Practice elements of the work ethic such as punctuality, professionalism, dependability, cooperation, and contribution. Personal Development Outcome
  7. Participate in a peer review of term projects. Problem Solving and Decision Making Outcome, Communication Outcome, Transitional Strategy, Active Learning Strategy
  8. Use professionally accepted methods and materials in completion of program development. Technological Literacy Outcome, Transitional Strategy, Active Learning Strategy, Personal Development Outcome
*Strategies and outcomes listed after instructional processes reference Pellissippi State’s goals for strengthening general education knowledge and skills, connecting coursework to experiences beyond the classroom, and encouraging students to take active and responsible roles in the educational process.
IV. Expectations for Student Performance*: 
Upon successful completion of this course, the student should be able to:
1. Use and recognize Java control structures, data types and operators.  A, B, G
2. Use Java development tools prevalent in the industry. B, F
3. Use distributed objects and components to perform specific tasks. A, G
4. Find resources and information to perform specific tasks. C
5. Use web pages, communication tools and search tools effectively. C, E
6. Use web-based parallel computing with Java.  A, G, H
7. Show effective operational use of available utilities, products, software and hardware. B, D, E, G, H
8. Produce applications, documentation, sources of information, and tests in a timely, well-organized manner.  B, C, D, E, F
*Letters after performance expectations reference the course objectives listed above.
V. Evaluation:
A. Testing Procedures: 40% of grade
There will be three exams including final exam. Three exams will count for 35% of the final grade. Quizzes will be given for every chapter covered including handouts.  Quizzes will count for 5% of the final grade.
B. Project and Laboratory Expectations: 60% of grade
Programming assignments will be made during the course of the semester.  A late penalty may be imposed on any overdue assignment.  Failure to satisfactorily complete all labs may result in a grade of F in the course.  Labs will count for 40% of the final grade. There will be two projects during the course work.  Failure to satisfactorily complete projects may results in a grade of F in the course. Projects will count for 20% of the final grade.
C. Field Work:
N/A
D. Other Evaluation Methods:
N/A
E. Grading Scale:
90 - 100 A 
80 - 89   B 
70 - 79   C 
60 - 69   D 
  0 - 59   F
VI. Policies:
A. Attendance Policy:
Attendance is required in both the lecture and lab session. Pellissippi State Technical Community College expects students to attend all scheduled instructional activities. As a minimum, students in all courses must be present for at least 75 percent of their scheduled class and laboratory meetings in order to receive credit for the course.
B. Academic Dishonesty:
Plagiarism, cheating, and other forms of academic dishonesty are prohibited.  Students
guilty of academic misconduct, either directly or indirectly through participation or
assistance, are immediately responsible to the instructor of the class.  In addition to other
possible disciplinary sanctions which may be imposed through the regular Pellissippi State
procedures as a result of academic misconduct, the instructor has the authority to assign
an F or a zero for the exercise or examination or to assign an F in the course.
C. Other Policies:
Each student is expected to do his/her own work in this class.  If a student is are unable to complete an assignment on his/her own, it is the student's responsibility to get help from the instructor (before the assignment is due). 
In the event that a student has an emergency beyond his/her control, the student must notify the instructor in advance, if at all possible.