King Fahd University of
Petroleum & Minerals
College of Computer
Science and Engineering
Information and Computer
Science Department
Syllabus for ICS 201 -
Introduction to Computer Science
Second Semester 2001 (002)
Instructor: Bashir
M. Ghandi, Room
No: 22/124-9, Phone No: 4016
E-mail: bmghandi@ccse.kfupm.edu.sa Home Page: http://www.ccse.kfupm.edu.sa/~bmghandi
Office Hours: SMT:10.00 – 11.50 (E-mail
me for an appointment outside these hours.)
Text
Book: “Computing Concepts with Java 2 Essentials”, Cay Horstmann, John Wiley, 2nd Edition, 2000.
Catalog Course
Description:
Advanced Java programming concepts. Introduction to vomputer graphics, Simple graphical user interfaces. Basic data structures. Searching and sorting techniques. Survey of computer science areas. Case studies and practice in developing small scale programs.
Grade Distribution:
Activity
|
Weight
|
Labs (12 x 0.75%) |
9% |
Lab Tests (1% + 1% + 2% + 2%) |
6% |
Lab Homeworks (4 x 1.2%) |
5% |
Project |
5% |
Important
Notes:
Lecture & Lab Schedule
Lecture
|
Topic |
Book Section |
Lab Activity |
1 |
Review of ICS102 Programming Fundamentals |
9.1 – 9.5, 9.1 |
No Lab |
2 |
Java Packages & Program Documentation |
9.10 + Notes |
|
3 |
Literate Programming using Java and XML |
Notes |
|
4 |
Further OO Concepts I |
9.6-9.10 + Notes |
Lab 0: Literate
Programming using Java and HTML/XML |
5 |
Further OO Concepts II |
||
6 |
Introduction to Computer Graphics |
||
7 |
Simple Applications of Computer Graphics |
Notes |
Lab 1: Experience with
Further OO Concepts |
8 |
Operations on Graphics Objects |
||
9 |
Abstract Classes |
||
10 |
Interfaces
|
9.7 + Notes |
Lab 2: Practice with
Drawing and Manipulating Graphics Shapes Lab
Test# 1 |
11 |
Role of Interfaces in Large-Scale Applications |
||
12 |
Introduction to GUIs |
||
13 |
Layout Management & Layout Managers in Java |
12.1 – 12.6 + Notes |
Lab 3: Practice with Abstract Classes and Interfaces HW#
1 |
14 |
Simple Examples using Swing GUI Components |
||
15 |
Introduction to Threads and Concurrency |
||
16 |
Review of Major Examination I |
Notes |
Lab 4: Developing Simple
GUIs using Swing Components |
17 |
Access Control and Threads Synchronization |
||
18 |
Developing a Multi-Threaded Application |
||
19 |
Introduction to Software Engineering |
Notes + 15.6-15.9 |
Lab 5: Developing Simple
Multi-Threaded Applications HW#
2. |
20 |
Introduction to CASE Tools |
||
21 |
Searching: Linear & Binary Search |
||
22 |
Sorting: Insertion & Selection Sort |
15.1-15.3 |
Lab 6: Experience with
UML – CRC, Interaction diagrams. Lab
Test# 2 |
23 |
Sorting: Quick Sort |
||
24 |
Recursion & Basic Data Structures |
||
25 |
Design Alternatives for Implementing Stacks,
Queues, Lists |
Notes + 16.1-16.3 |
Lab 7: Searching and
Sorting. |
26 |
Stacks, Queues & Lists: Implementation &
Assessment |
||
27 |
Introduction to Databases |
||
28 |
Operations on Databases |
Notes |
Lab 8: Applications of
Stack, Queues and Lists HW#
3 |
29 |
Introduction to Data Communication Systems |
||
30 |
Transmission Media & Their Characteristics |
||
31 |
Data Encoding using Huffman Coding Algorithm |
Notes |
Lab 9: Databases Lab
Test# 3 |
32 |
Introduction to the OSI Model & Standards |
||
33 |
Introduction to IP Addressing and Routing |
||
34 |
Review of Major Examination II |
Notes |
Lab 10: Data
Communications and Networking HW#
4 |
35 |
Introduction to Programming Languages |
||
36 |
Language Descriptors and Generators |
||
37 |
Introduction to Artificial Intelligence (AI) |
Notes |
Lab 11: Practice with
Language Descriptors and Generators using Applets |
38 |
Overview of Main Branches of AI |
||
39 |
Introduction to Operating Systems I |
||
40 |
Introduction to Operating Systems II |
Notes |
Lab 12: AI using Applets Lab
Test# 4 |
41 |
Review for Final Examination |
|
Project Presentation
|