CS 2360 Winter 2009 syllabus
CS 2360 - Programming Methods and Intro to Software Engineering - 4 Credits 

Instructor: David Yang (e-mail: david.yang@csueastbay.edu, 885-3904 (but if you need to leave a message, email is better))

In this course, we will continue coverage of aspects of problem solving that are featured in programming. We will review functions and arrays at the start of the term. The new material covered includes:

  • More useful algorithms -- we will cover algorithms for searching and sorting.
  • pointers
  • more on functions, including call-by-reference
  • recursion -- an important mechanism throughout computer science, though we will focus on recursive functions
  • Structuring related data of different types -- with arrays, you have been introduced to how data of the same type can be organized together. We will go through how to organize data that fits the idea of records for data like bank accounts or movie credits.
  • linked structures -- in particular, linked lists
  • a bit of object-oriented programming -- basic constructors and methods
  • multidimensional arrays
  • if there is time, exceptions
My primary goal is to get you on your way to being a competent programmer. [Compared to the extended description on the website, we will not be dealing much with system issues. You will write programs spread over multiple files, but standard IDE's handle most of the complexity of separate compilation and Make.]

Prerequisites:
CS 1160 Introduction to Computer Science and Programming Methods. I expect you to have covered arrays, but not necessarily much on classes or pointers. If you have only done C, that is ok.

Text:
Gaddis, Starting Out with C++: From Control Structures through Objects, 6th ed., ISBN 978-0-321-54588-6. If you have not already purchased Dale and Weems and/or would like to consider an alternative. You might take a look at Gaddis. I recommend you avoid the other book by Gaddis with the same title, but "Early Objects" as a subtitle. Our course is not following the approach of that text.

Calculation of your grade:There will be 4 or 5 quizzes worth 6% each. There will be 4 or 5 programming assignments, each worth 6% as well. Lab assignments are worth 10% of your grade. There should be 9 of these. The final exam is cumulative and worth the remainder.

Lateness: Assignments need to be submitted to me through Blackboard. Homework assignments must be submitted by the deadline. Lab assignments may be submitted up to 2 weeks past the deadline, but it is greatly to your advantage to keep pace with the course. Exceptions will be made under extreme conditions, but this would mean something like a school closing/power outage.

Final grades will be given according to the following scale: 

93-100 A, 90-92 A-, 87-89 B+, 83-86 B, 80-82 B-, 77-79 C+, 73-76 C, 70-72 C-, 

67-69 D+, 60-66 D, 0-59 F

Academic Honesty: This course will follow the University's standard policy on academic dishonesty. In particular, any cheating, or assisting another students cheating on any quiz, or the final exam will be penalized by either a zero on the quiz, or by failure of the course, at my discretion.

Finally, if you cheat (whether you do the copying or let someone copy) twice during this course, you will automatically fail the course. Remember that the University may inflict further penalties than listed here under the provisions of the published Academic Dishonesty Policy. 

Attendance: Attendance is essentially mandatory. Quizzes will generally be given on Tuesdays, while Thursdays will include a lot of lab work.

Classroom: 
Tuesdays, Thursdays 6-7:50pm North Science 336

Office Hours


 
This webpage's layout is originally from Bill Parkinson, who used to teach in the evening program at St. Joseph's University.