Sie sind auf Seite 1von 6

Chiang Kai Shek College

Faculty of Business, Arts and Sciences

COURSE SYLLABUS

1. Department: Information Technology Education 10. Clientele: Information Technology / Computer Science

2. Course Code: COMS019 11. Requirements:


a) Seat works and class participation
3. Course Title: Introduction to Parallel Programming b) Quizzes
c) Project
4. Course Description: This course focuses on the application of d) Major Exams (Midterm and Final)
programming and problem-solving skills using parallel computation
techniques to solve computationally or I/O intensive problems in a 12. Grading System:
variety of disciplines. Topics on multi-threading, distributed computing, a) 50-based (a score of zero in the quizzes and long term exams
synchronization, and concurrent programming will be covered as well. means a grade of 50) except for No Project (a grade of zero)
b) Midterm
5. Course Objectives: Upon completion of the course, students should • Class Standing (CS) = (Q1 + Q2 + Q3) / 3
be able to: • Midterm (MT) = (2 x CS + Midterm Exam) / 3
a) Explain the basic concepts of parallel computation and c) Final term
distributed computing. • Class Standing (CS) = (Q4 + Q5 + Q6) / 3
b) Compare alternative approaches to designing and implementing • Final term (FT) = (2 x CS + Final Exam) / 3
parallel algorithms and architectures. d) Seat works and the likes are added to Quizzes as plus
c) Measure and evaluate the performance of parallel and e) Project
distributed applications. • Project = (Midterm Project + Final term Project) / 2
d) Create multi-threaded applications • Note: No Project means a Project Grade of zero (0)
e) Create distributed applications f) Final Grade = MT x 40% + FT x 40% + Project x 20%
g) Equivalence:
6. Unit Credit/Time Allotment: 3 / 54 hours • 98 – 100 = 1.00
• 95 – 97 = 1.25
7. Semester/Term Offered: Second • 92 – 94 = 1.50
• 89 – 91 = 1.75
8. Pre-requisite subject: Data Structures and Algorithms • 86 – 88 = 2.00
• 83 – 85 = 2.25
9. Co-requisite subject: none • 80 – 82 = 2.50
• 77 – 79 = 2.75
• 75 – 76 = 3.00 b) Deitel, Paul J., Deitel, Harvey M. Java How to Program, 7th ed.
• 0 – 74 = 5.00 Prentice Hall, 2006.
c) Silberschatz, Abraham; Galvin, Peter Baer; Gagne, Greg.
13. Textbooks: Operating System Concepts with Java, 7th ed. John Wiley &
a) Garg, Vijay. Concurrent and Distributed Computing in Java. Sons, 2006.
Wiley-IEEE Press, 2004. d) Conger, David. Remoting with C# and .NET: Remote Objects for
Distributed Applications. Wiley, 2003.
14. References: e) Roman, E, et al. Mastering Enterprise JavaBeans, 3rd edition.
a) Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David John Wiley & Sons, 2004.
Holmes, Doug Lea. Java Concurrency in Practice. Addison-
Wesley Professional, 2006.
Time
Suggested Material / Tools / Evaluation
Frame
Main Topics / Sub Topics Specific Learning Objectives Activities / Equipment Scheme / Remarks
(Week
Strategies Needed Tools
no.)
1 Introduction At the end of the unit the students should ● Requirements ● LCD Projector ● Quiz joined
1.1 Serial versus Parallel be able to: discussion ● Textbook with the
1.2 Parallel Features of ● Understand the basis for parallel including the following
Computers computing Project unit 2
1.2.1 Computing ● Identify the parts of activities or ● Lecture
Environment programs are purely serial or what can ● Discussion
1.2.2 Operating System be executed in parallel ● Recitation
1.2.3 Memory ● Understand parallel computing
1.2.4 Disk introductory concepts.
1.2.5 Arithmetic ● Identify ordinary desktop's hardware
1.3 Characteristics of Parallel technologies that are based on parallel
Computers computing
1.3.1 Processors ● Identify the common and distinguishing
1-2 1.3.2 Memory characteristics of parallel computers
1.3.3 Cache ● Understand the performance of parallel
1.3.4 Processor/Memory computers
Interaction ● Identify the different issues around
1.3.5 Networks parallel computing
1.4 Performance of Parallel ● Appreciate the use of parallel
Computers computers
1.5 Parallel Computing Issues
1.5.1 Decomposition
1.5.2 Load Balancing
1.5.3 Cache Utilization
1.5.4 Problem Size
1.5.5 Parallel Algorithms
1.5.6 Software Tools
3 2 Process/Thread At the end of the unit the students should ● Read Operating ● LCD Projector ● Quiz 1
Synchronization be able to: System ● Textbook
2.1 Processes ● Recall the process and muti-threading Concepts
2.2 Threads concepts they had learned from the reference,
Time
Suggested Material / Tools / Evaluation
Frame
Main Topics / Sub Topics Specific Learning Objectives Activities / Equipment Scheme / Remarks
(Week
Strategies Needed Tools
no.)
2.3 CPU Scheduling Operating Systems subject chapters 4 to 7
2.4 Process Synchronization ● Understand the process and thread ● Lecture
synchronization primitives that are the ● Discussion
basis of Java and dot Net thread ● Recitation
synchronization
3 Multi-threading in Java At the end of the unit the students should ● Read Java multi- ● LCD Projector ● Seat work The
3.1 An Overview of the Thread be able to: threaded ● Textbook 1 software
Methods ● Use the Java Thread class in creating examples ● Laboratory ● Quiz joined that can be
3.2 Thread States: Life Cycle of multi-threaded applications in Java ● Lecture computers for with the installed at
a Thread ● Appreciate the thread synchronization ● Discussion demonstrations following home are
3.3 Thread Priorities and framework of Java ● Setup and , hands-on unit 4 available in
Thread Scheduling ● Create properly synchronized multi- programming programming ● Part 1 and our official
3.4 Thread Synchronization threaded applications in Java demonstrations and seat work 2 of Parallel
3.5 Producer/Consumer ● Use the Runnable Interface in creating ● Hands-on ● Laboratory Hands-on Computing
Relationship without Thread multi-threaded applications in Java computers for Quiz 3 CD
Synchronization ● Use the advanced concurrency API of the hands-on
4-6
3.6 Producer/Consumer Java to reduce maintenance problems quiz
Relationship with Thread ● Create a simple queue and agents
Synchronization (workers) framework using Java
3.7 Producer/Consumer concurrency API
Relationship: The Circular
Buffer
3.8 Runnable Interface
3.9 Advanced Concurrency
Classes
3.10 Queue and
Agents/Workers
7-8 4 Multi-threading in C# At the end of the unit the students should ● Read on-line ● LCD Projector ● Seat work
4.1 Thread States: Life Cycle of be able to: examples of C# ● Textbook 2
a Thread ● Use the C# Thread class in creating multi-threaded ● Laboratory ● Quiz 2
4.2 Thread Priorities and multi-threaded applications in dot Net programming computers for ● Part 3 of
Time
Suggested Material / Tools / Evaluation
Frame
Main Topics / Sub Topics Specific Learning Objectives Activities / Equipment Scheme / Remarks
(Week
Strategies Needed Tools
no.)
Thread Scheduling ● Appreciate the thread synchronization ● Lecture demonstrations Hands-on
4.3 Creating and Executing framework of C# ● Discussion , hands-on Quiz 3
Threads ● Create properly synchronized multi- ● Setup and programming ● Midterm
4.4 Thread Synchronization threaded applications in C# programming and seat work Project
and Class Monitor ● Create a simple queue and agents demonstrations ● Laboratory
4.5 Producer/Consumer (workers) framework using C# ● Hands-on computers for
Relationship without Thread the hands-on
Synchronization quiz and on-
4.6 Producer/Consumer line quiz
Relationship with Thread
Synchronization
4.7 Producer/Consumer
Relationship: Circular Buffer
4.8 Multithreading with GUIs

9 Midterm Exam
5 Distributed Objects in At the end of the unit the students should ● Read RMI Java ● LCD Projector ● Seat work
Java Through RMI be able to: Trail/Tutorial ● Textbook 3
5.1 An Overview of RMI ● Appreciate distributed application ● Lecture ● Laboratory ● Quiz 4
Applications through examples ● Discussion computers for ● Part 1 of
5.2 Writing an RMI Server ● Create a distributed RMI-based Java ● Recitation demonstrations Hands-on
5.3 Creating A Client Program application ● Setup and , hands-on Quiz 6
5.4 Compiling and Running the ● Create an asynchronous callback RMI programming programming
10-12
Example server demonstrations and seat work
5.5 Asynchronous Callback ● Create a distributed and multi-threaded ● Hands-on ● Laboratory
5.6 Distributed Queue and Queue and Agents/Workers application computers for
Agents/Workers in Java by combining the concurrency the hands-on
API and RMI quiz and on-
line quiz

13-14 6 Distributed Applications At the end of the unit the students should ● Read dot Net ● LCD Projector ● Seat work
Time
Suggested Material / Tools / Evaluation
Frame
Main Topics / Sub Topics Specific Learning Objectives Activities / Equipment Scheme / Remarks
(Week
Strategies Needed Tools
no.)
in C# Through .Net be able to: Remoting ● Textbook 4
Remoting ● Appreciate dot Net distributed examples ● Laboratory ● Quiz joined
6.1 An Overview of dot Net application through examples ● Lecture computers for with the
Remoting ● Create a distributed application based ● Discussion demonstrations following
6.2 Remote Objects on dot Net Remoting ● Recitation , hands-on unit 7
6.3 Writing a Remote Server ● Create an asynchronous callback ● Setup and programming ● Part 2 of
6.4 Creating A Client Program Remote server programming and seat work Hands-on
6.5 Compiling and Running the ● Create a distributed and multi-threaded demonstrations ● Laboratory Quiz 6
Example Queue and Agents/Workers application ● Hands-on computers for
6.6 Asynchronous Callback in C# using dot Net Remoting the hands-on
6.7 Distributed Queue and quiz
Agents/Workers
7 Coupling Java and .Net At the end of the unit the students should ● Read web ● LCD Projector ● Seat work
7.1 Java and dot Net be able to: services ● Textbook 5
Interoperability Techniques ● Identify the different Java and dot Net documents ● Laboratory ● Part 3 of
7.2 TCP Sockets interoperability technologies and ● Lecture computers for Hands-on
7.3 Web Services techniques ● Discussion the Quiz 6
7.4 Creating a Web Service in ● Understand the flexibility of TCP ● Recitation demonstration ● Final term
dot Net Network Sockets in interoperability ● Setup and of automated project
15-17
7.5 Accessing the dot Net Web ● Appreciate the high level approach of programming test cases
Service from a Java Client web services demonstrations ● Laboratory
● Understand the limitations of web ● Hands-on computers for
services the hands-on
● Create interoperable applications in creation of
Java and C# automated test
cases
18 Final Exam
Total Weeks: 18

Das könnte Ihnen auch gefallen