Date: Mon, 02 Dec 1996 14:27:06 GMT Server: NCSA/1.4.2 Content-type: text/html
After completing the course, students should be able to design and write medium-sized programs, to design interfaces to modules and abstract data types and provide one or more implementations of those interfaces, and to read, write, use, and document software components.
To make these concepts and abilities concrete, we will study and use the C++ programming language. But 143 is not a class on C++! Most concepts taught in 143 can be applied in many languages, and there are many C++ constructs and features that we will not be covering.
Please use the following address for all email to the instructor: cse143-instructor@cs.washington.edu.
It really doesn't matter too much which C++ book you have, but you almost certainly will want one, since the text is not a reference manual in any sense of the word.
To avoid creating situations where copying can arise, you cannot email or post or otherwise make your code available electronically to anyone. You can post general questions about programming problems and even pseudo-code snippets, but no actual C++ code.
Now for the good news. It is educationally valuable to work with others on general ideas for how to go about solving some problem, helping others in general terms when they are getting stuck. I will allow people to look at others' code on screens to give them help in debugging (because in this case only one or two people are seeing the code, and they are not getting an electronic copy). If in doubt about collaboration vs. cheating, just don't. Or send the instructor email (cse143-instructor@cs.washington.edu) asking for clarification.
Partial support means that we will not provide sample executables or bundled code distributions. We will make necessary sample/skeleton source code available via the web. This code should be reasonably portable, so you should be able to build projects on other platforms without too much trouble. Remember, if you choose to use a partially supported platform, it is your responsibility to configure your system and understand how to build projects there. We will not be able to debug system configuration problems for you.
Here is a summary of the platforms we support. We will assign a TA or consultant to each platform to give help with reasonable problems.
(Note that we do not support Win '95 or NT compilers. We expect that source files developed under those systems for this class will compile and execute on our test machine, but ensuring that they do is your responsibility.)