Date: Wed, 20 Nov 1996 22:32:49 GMT Server: NCSA/1.5.1 Last-modified: Wed, 13 Nov 1996 15:14:22 GMT Content-type: text/html Content-length: 8616 C212 Intro to Software Systems

C212 Intro to Software Systems (4 cr.) -- Fall 1996

Lecture (sction 1130)
9:30A-10:45A TR WH007
Discussion (section 1131)
8:00A-8:50A F LH019
Discussion (section 1132)
9:00A-9:50 F BU427
Discussion (section 8458 & 8458)
10:10A-11:00A F BU 427

Contents

General Information

Instructor
Dennis Gannon, email: gannon.cs.indiana.edu
Office Hours: Tues,Weds,Thurs 11:30-12:30.
Associate Instructors
Jeremy D. Frens, email: jfrens.cs.indiana.edu
Office Hours: Tues 8-9, Weds 8-9, 3-4, Thurs 1-3.
Michael Roberts, email: mirobert.cs.indiana.edu
Prerequisites
C211.
Local newsgroup
ac.csci.c212
check your grades with: Course Gradebook.

Course Description

This course is an introduction to applications programming. It will be based on C++ in the Unix environment, but if you have a PC or MAC with a good C++ compiler, you can do your work there. However, if you do use the MAC or PC, you will still need to learn Unix. As time permits we will also introduce programming in Java.

Topics include:

Course Materials

Required Text
Dietel & Dietel C++,

Also read the web tutorial on Makfiles

Syllabus

Week 1 	Ch. 1.	Basic Concepts.
Week 2	Ch. 2.	Control Structures.
		Conditionals and iteration:
 		   if, if/else, while, for.
		   Array intro: Chapters 4.1-4.3.
Week 3          More on Control.
		   switch, do/while, break, continue.
 		   logical operators.
Week 4	Ch. 3.  Functions.
		   basic libraries, prototypes, header files,
		   recursion.
		   recursion vs. interation, Inline,
		   reference parameters, default arguments,
		   scope, overloading and templates.

Week 5. Ch. 4   Finish Arrays
		   passing arrays to functions.
		   sorting, searching.
		   2-D arrays.

Midterm 1  Oct. 10.

Week 7 	Ch. 5	Pointers and Strings
		   Pointer types, operators, pointer arithmetic.
		   Pointers and arrays.
		   The string library.
Week 8.	Ch. 6	Classes and Data Abstraction
		   Struct members: data and function encapsulation.
		   controlling access in classes.
		   Constructors and destructors.
Week 9.	Ch. 7.  More on Classes.
		   nesting classes, "this" pointer.
		   new and delete.
		   data abstraction.
Week 10	Ch. 8.	Operator Overloading.
		   an array class.  a string class.
        Ch. 9.	Inheritance.
		   base classes and derived classes.
		   Using member Functions.

Midterm 2.  Nov. 21

Week 12	Java part 1.
		Java vs. C++.  
		classes, inheritance and interfaces.
Week 13 Java part 2.
		Applet design.  
		The User Interface Library,
		the Graphics library.
Week 14 Java part 3.
		The Net library.
Week 15. C++ and Java.  Making them work together.

Final Exam.  

Lecture Notes

Assignments

Assignments will be given each week. You will receive each assignment on Thurday and it will be due the following Friday at 4:30pm of the following week. The best way to hand in your assignments is to give them to the teaching assist. in section on friday. However, you may also deposit them in the homework box in lindley hall, second floor up to 4:30 pm on Friday.

You will always turn in a hard copy of the source with comments and a script of the compilation and execution and output. (See the instructions in Assignment 1 below.)

Grading Policy: Each assignment will be graded on a scale of 0 to 10. If the program fails to compile it will receive 0 points. Late assignments will receive 0 points.

Communication

The course newsgroup, ac.csci.c212, will be used to post announcements, such as assignments, exams, and any exceptions to our usual office hours. You are also encouraged to use it to post questions related to the course or share related information with the class. Make a habit of looking for new notes a few times each week.

On individual matters, please feel free to contact your instructor or associate instructor via email. This course description is accessible as an HTML (hypertext markup language) file on the WWW (World Wide Web) with the URL (Universal Resource Locator) http://www.cs.indiana.edu/l/www/classes/c212. It will be updated with additional information as the course progresses.

To view a resource given its URL, use the Netscape program on a networked PC or Mac. Netscape underlines HTML hypertext links. To follow a link, click on it. The URL for the computer science department's home page is http://www.cs.indiana.edu/home-page.html, from which all sorts of information can be obtained.

Evaluation

Policies

Attendance

Class attendance will not be monitored although regular attendance and class participation are strongly recommended. Attendance at examinations is compulsory and make-up examinations will normally not be given. No special assignments or projects will be given to help students raise their grades.

Academic Integrity

Read the Computer Science Department's Statement on Academic Integrity to be sure you understand the rules under which computer science courses operate. Cases of academic dishonesty will be reported to the Office of Student Ethics, a branch of the Office of the Dean of Students.

Withdrawal

Withdrawal after Wednesday, October 25th, requires concurrence of the Dean based on extenuating circumstances.

Incomplete grade

An incomplete (I) final grade will be given only by prior arrangement in exceptional circumstances conforming to university and departmental policy in which the bulk of course work has been completed in passing fashion.