CSS 332 --- Comparison of Programming Languages --- Winter 2013 Instructor: Mr. Joseph Simpson Email:jjs0sbw (at) u.washington.edu Office Hours: Make an appointment using email. Course catalog description (2013) : Covers language and development/execution environment differences, including data types, control structures, arrays, and I/O; addressing and memory management issues including pointers, references, functions, and their passing conventions; object-oriented design specifics related to structured data and classes. Course goals and objectives: The overall goal of CSS 332 is to transition students who are competent in one object-oriented programming language to another object-oriented programming language. Currently, it is assumed that students are familiar with Java and need to become familiar with C++, the language used in CSS 342/343. While the underlying concepts are similar, there are some differences in syntax and many differences in usage, particularly relating to memory management. This course is intended as an aid to your survival in CSS 342. The intention is to bring Java students up to speed in C++ as quickly and painlessly as possible. Consequently, this course is dense, taught concurrently with the first three weeks of CSS 342. The intention is that the first programming assignment given in CSS 342 (review) is in conjunction with work in CSS 332. There may be additional assignments that focus on specific aspects of C++. This course will be run as part lecture, part hands on. Grading: Course graded CR/NC. No written exams, however, programs may be written and reviewed during class. Textbook: Data Abstraction & Problem Solving With C++.. Frank M. Carrano 5th edition (Same book as CSS342) Optional Other Books: C++ for Java Programmers.. Mark Allen Weiss C++ for Java Programmers.. Timothy Budd Look for other good C++ books.. share what you find in class.. Class Schedule: The class meets on Friday afternoon from 1:15 PM to 5:15 PM Students shall bring their computer laptops to class. Students are required to keep a "object-oriented" programming questions log which is turned in weekly to the instructor. Questions and issues from the logs will be used to tailor the material presented in each specific session. Week One: Friday June 11th: Topics: Overview of language development models and purpose. C++ data types, memory allocation, program structure and analysis approach. Overview, of pointers, arrays, linked lists and objects. Review student programming issue log. Week Two: Friday June 18th: Object-oriented programming style and components. Headers, variable declaration and initialization. Memory allocation-- compile time and run time. C++ classes, references, pointers and memory allocation. Review student programming issue log. Week Three: Friday June 25th: Pointers, references, and parameter passing. Linked Lists and arrays Program structure Review student programming issue log. Week Four: Friday February 1st: Topic review and issue review. Address current programming issues and explore typical set of solution processes.