Date: Mon, 02 Dec 1996 14:27:06 GMT Server: NCSA/1.4.2 Content-type: text/html CSE 143 General Information

CSE 143 General Information


Course Goals

This is a course about abstraction and programming. Specifically, the goals of CSE 143 are to learn the concepts of modularity and encapsulation, focusing on abstract data types, and the basics of data structures. Other important topics include thinking and programming recursively and analyzing the complexity of simple algorithms.

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.

Staff

Where and When

Text

Evaluation

Computing

This quarter we will be using the MSCC's Mac lab, located in the basement of Thomson Hall. This lab will be staffed with consultants who will be able to provide you with reasonable levels of help. The Mac lab in Sieg 324 can also be used, but at low priority; only when it is not being used by higher-priority classes can you use it. This course offers two levels of computing support: "full" and "partial." We will accept turnins (floppy disks) with projects developed for either fully or partially supported platforms. Additionally, full support means that we will build sample executables for that platform, as well as an easy-to-unpack distribution of the code necessary for getting started.

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.

Using a machine of your own has many advantages, and a few disadvantages. Many students have done so in the past; we encourage you to try it.

(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.)


cse143-webmaster@cs.washington.edu