COP-4338, Programming III Assignments
- Assignment #1, due Tue May 30: Using structs in C
- Assignment #2, due Tue June 6: More C
- Assign2.c, representing part #1, including
extras discussed during class.
- Assign2a.c, representing the rest of the assignment.
- Assignment #3, due Thu June 29: C++ Classes
- Assignment #4, due Thu July 6: C++ Operator Overloading
- Assignment #5, due Thu July 6: Inheritance in C++
- Assignment #6, due Tue July 25: Templates and Inheritance
- Assignment #7, due Tue July 25: STL
- Anagrams.cpp solution, includes a typedef
and two ways of handling the sorting of characters for computing the representative.
- Anagrams2.cpp solution
ignores case-distinctions.
Change involves making the map use a case insensitve string comparison
and the sort use a case insensitive character comparison.
- Assignment #8, due Tue. Aug 8: Threading and Locking
- Assignment #9, due Tue. Aug 8: An Internet Chat Program
- Solution:
-
ChatServer.java: limits to one port
-
ChatServerBetter.java: can run several independent chatrooms on different ports
-
ChatServer3.java: same idea as before, but has ChatServer extend Thread to avoid
anonymous classes and simplify the code.
However, this only works because ChatServer is
not already extending another class, because if ChatServer was
extending some other class (for instance, some other Server class), you
would not be allowed to have multiple implementation inheritance.