Labs:
In this week's labs (starting Thursday, 11/14), CSE13 students will study
user interfaces and usability, for which there is multimedia, and Jarret
will teach review some principles (see the CSE13 assignment below), Meanwhile,
the TAs will introduce CSE14 students to programming in C++, with
the goal of translating Java programs like those you have written this semester
into C++ (see the CSE14 assignment below). You may also find C++ material
from The Universal Machine (run umcpp on the LANs) useful. In
next week's labs, starting Thursday, 11/21, you will study the multimedia
for social and ethical issues (associated with chapter 8 of The
Universal Computer) and in the last week's labs, starting Tuesday, 12/3,
you will study the multimedia for artificial intelligence (associated
with chapter 9 of The Universal Computer). New multimedia for the last
two week's of labs will be accessible via cimel.cse.lehigh.edu, and there
will be a quiz on these two units during the last week's labs.
Homework exercises:
Note: do your work on exercises except where the assignment below tells you
to work in pairs.
CSc13: The Universal Computer, 8.16, 8.17, 8.20, choose
one of (8.25. 8.26 or 8.27), 9.5, 9.11, 9.19, 9.26 and 9.28. Working
in groups of two to four students, analyze and redesign a user interface and
submit a report about your findings the last week of class. (Jarret
Raim will explain this part of your assignment in labs and we will update
this part of the assignment with more details next week.)
CSc14: Objects First With Java, 5.2, 5.5, 5.6, 5.7, 5.12,
5.13 (note: there is also a math.random() method, shown
at the bottom of Figure A.8 in The Universal Computer, so you have a couple
of options for the shuffle method in your War program); The Universal
Computer, 8.16, 8.17, 8.20, choose one of (8.25. 8.26 or
8.27), 9.5, 9.11, 9.19, 9.26 and 9.28. Implement the War card game
in Java. A complete
class and methods pseudocode design is
now available. Pair programming required unless you are excused
by Prof Blank or Faisal Khan. Rewrite powers.java, which you implemented
in Java for assignment #6, into C++ (there is a pow() function in C++,
accessible when you #include <math.h>) and also rewrite the replace
method, which you implemented in Java for assignment #7, as a C++ function,
using STL strings. Develop both programs in a C++ programming environment,
such as Visual C++, Borland C++ or LOOKOUT), test them, and include documentation
in comments at the top of each file with your name(s), user id(s), purpose
of the program, and how you tested it. Working on these C++ exercises
in pairs is optional, but both partners must mention the other partner
in your homework submission.
Due: Thursday 12/5, 1:10PM, hard copy in class, electronic copy in CSE10 Drop Box (so that TA can review programs if necessary). For pair designs/programs, each partner should mention their partner's name at the top of their work. If you need extra time to do this assignment, please put late work in Faisal Khan's mailbox in 304 Packard Lab.
Extra credit: 9.7, 9.8 and/or 9.21. For CSE13 students: Objects First, 5.2 and 5.12. For CSE14 students: you may participate in a usability analysis and redesign team. You may also rewrite the Game of War program in C++. And you may add a GUI user interface to the Game of War, using AWT or Swing. (The required version should just run in a DOS console window, using System.out and possibly Input.) You may hand in the C++ version of the Game of War or GUI version in Java any time up to Friday, 12/13. Put a hard copy in Faisal's box in 304 Packard Lab and upload your source code file(s) to Blackboard.
Prof. Blank