CSE 501N
Programming Concepts and Practice

Spring, 2008

Course Description:

This introductory course assumes no prior programming background and is intended for graduate students who desire significant programming and program design experience within a modern programming paradigm. Exploration of the enterprise of software design, creation, maintenance, and reuse. Abstraction as a vehicle for reducing the complexity of problems. Concepts of object-oriented programming. Internet-related programming including threads. Design and implementation of nontrivial algorithms in selected application areas.
Prerequisites: NONE. Credit 3 units.
[Note: This course meets no computer science degree requirements.]
Time/Place
Lec: 5:30 - 7:00 Tues & Thurs, Lopata 103
Lab: 7:00 - 9:00 Tues, Lopata 400
Recommended Text
Core Java, Vol. I, 2008 (8th ed), by Horstmann & Cornell ( website)
Supplemental Texts
Program Development in Java, by Liskov & Guttag ( website)
Java Software Solutions, 4th edition, Addison-Wesley, 2005 by Lewis & Loftus ( website)
Thinking in Java by Bruce Eckel ( website)
Other Java Texts
Big Java by Horstmann ( website)
Java in a Nutshell, 5th ed, by David Flanagan ( website)
Grading
Your grade in this course will be based on the following (subject to change):
7 Quizzesapprox 50%
Bi-Weekly Machine Problemsapprox 50%
Quizzes/Tests
Quizzes are planned periodically through the semester for a total of six quizzes plus a final quiz. These may vary in length and weight and account for about half of the total points. Plan not to miss a quiz, but if for some good reason you will not be able to take a quiz, please speak with the instructor in advance to see if other arrangements can be made. One quiz score (excluding the final quiz) will be dropped. The final quiz will count approximately the equivalent of two quizzes. The final quiz cannot be dropped and will be comprehensive.
Machine Problems
Machine problems are an integral part of the course and will be assigned approximately bi-weekly. All work must be your own, unless explicitly stated in the assignment, but you are encouraged to seek help in understanding and conceptualizing the problem. This help should stop short of exchanging or copying code. Each completed problem will be demonstrated in lab before submitted for grading. Machine problems turned in late will receive fewer points than those that are on time. All machine problems will count in the final grade and none will be dropped.
Cheating
Cheating is the willful misrepresentation of someone else's work as your own and will not be tolerated in this course. Specific examples include (but are not limited to) submitting work identical to someone else's, submitting part or all of an assignment identical to someone else's, or using unapproved sources of information during a quiz or exam (e.g., your neighbor's exam, notes, textbook, cell phones, calculators, etc). This is a serious matter. Anyone found cheating will receive an F for the course and the matter will be referred to the academic discipline board in the School of Engineering. Further action may be taken in extreme cases.


CSE501 Programming Concepts and Practice (sck@wustl.edu)
Washington University
Department of Computer Science & Engineering
Last modified 13:16:01 CST 10 January 2008