Instructor: Dr. Antonio Sanchez
Meets: MWF from 13:00-13:50
Office: TTC 332
Phone: 257-7057
Office
Hours: 10:00-11:00, Mon & Wed &
Fri (and other times)
13:00-14:00, Tue
& Thur (and other times)
Textbook: Big Java by Cay Horstmann 3ed.
Prerequisite: COSC 10403 Introduction to Programming
|
Before attempting the course, students must be able to: |
After
completing the course, students
will be able to: |
|
¥ write Java applets using the AWT classes and the 1.1 event model (Chapters 1–12 of Big Java 3ed Edition) |
¥ write sophisticated Java applications á using Vectors/ArrayLists, Hashtables/Maps,
and arrays appropriately á using Files and Streams á using recursion á using Threads á using network protocols ¥ develop software having a user-friendly interface ¥ demonstrate an understanding of the overall software design and
development process ¥ explain binary representation, two's complement representation,
and ASCII/Unicode encoding ¥ compare elementary data structures ¥ discuss application of the ACM Code of Ethics (Chapters 15–19, 23, 24, L, and M of Big Java 3ed
Edition) |
Course Topics:
¥ Internal representation
¥ Exceptions and I/O classes
¥ Collection classes
¥ Cloning
¥ Recursion
¥ Threads and client-server applications
¥ Programming style
¥ Debugging and testing techniques
¥ Linear data structures
¥ Issues in computer ethics
Grading:
Exams (2) 20%
each
Programming Assignments (5) 8%
each
Final Exam (Comprehensive) 20%
|
COSC 20203-50 Techniques in
Programming |
||||
|
|
Weekly
Schedule: Spring 2008 |
|
||
|
Week |
Date |
Lec # |
Lecture Topic |
Exam/Lab |
|
|
Wed - Jan 14 |
1 |
Java Review |
|
|
|
Wed - Jan 16 |
2 |
Java Review |
|
|
#1 |
Fri - Jan 18 |
3 |
Java Doc |
|
|
#2 |
Mon - Jan 22 |
|
No Class |
|
|
Wed - Jan 23 |
4 |
Internal Representation |
Lab 1 Assign |
|
|
Fri - Jan 26 |
|
No class |
|
|
|
#3 |
Mon - Jan 28 |
5 |
Exceptions |
|
|
Wed - Jan 30 |
6 |
Review |
|
|
|
Fri - Feb 01 |
7 |
File and Streams |
|
|
|
#4 |
Mon - Feb 04 |
8 |
Stream IO |
Lab 1 DUE |
|
Wed - Feb 06 |
9 |
Tokenizer |
|
|
|
Fri - Feb 08 |
10 |
Random Objects |
Lab 2 Assign |
|
|
#5 |
Mon - Feb 11 |
11 |
Vector |
|
|
Wed - Feb 13 |
12 |
Hash Table |
|
|
|
Fri - Feb 15 |
13 |
Encryption |
|
|
|
#6 |
Mon - Feb 18 |
14 |
Cyphers |
|
|
Wed - Feb 20 |
15 |
EXAM 1 |
|
|
|
Fri - Feb 22 |
16 |
Interfaces |
|
|
|
#7 |
Mon - Feb 25 |
17 |
Cloning |
|
|
Wed - Feb 27 |
18 |
Software Contracts |
Lab 2 DUE |
|
|
Fri - Feb 29 |
19 |
Software life Cycle |
|
|
|
#8 |
Mon - Mar 03 |
20 |
Recursion |
Lab 3 Assign |
|
Wed - Mar 05 |
21 |
Simple stacks |
|
|
|
Fri - Mar 07 |
22 |
Recursion Efficiency |
|
|
|
#9 |
Mon - Mar 10 |
|
Spring Break |
|
|
|
Wed - Mar 12 |
|
NO CLASSES |
|
|
|
Fri - Mar 14 |
|
Spring Break |
|
|
#10 |
Mon - Mar 17 |
23 |
Mutual or circular |
|
|
|
Wed - Mar 19 |
24 |
Review |
|
|
|
Fri - Mar 21 |
|
No Class |
|
|
#11 |
Mon - Mar 24 |
25 |
Searching |
|
|
|
Wed - Mar 26 |
26 |
Hard problems |
Lab 3 DUE |
|
|
Fri - Mar 28 |
27 |
Enumeration |
Lab 4 Assign |
|
#12 |
Mon - Mar 31 |
28 |
Rational Problems |
|
|
|
Wed - Apr 02 |
29 |
EXAM 2 |
|
|
|
Fri - Apr 04 |
30 |
Threads & Multitasking |
|
|
#13 |
Mon - Apr 07 |
31 |
Running Threads |
|
|
|
Wed - Apr 09 |
32 |
Terminating |
|
|
|
Fri - Apr 11 |
33 |
Race Conditions |
Lab 4 DUE |
|
#14 |
Mon - Apr 14 |
34 |
Synchronization |
Lab 5 Assign |
|
|
Wed - Apr 16 |
35 |
Review |
|
|
|
Fri - Apr 18 |
36 |
Networking |
|
|
#15 |
Mon - Apr 21 |
37 |
Internet Protocol |
|
|
Wed - Apr 23 |
38 |
Application level | ||