CS 6310 Spring 2009 Home Page
CS 6310 Spring 2009 - Advanced Software Engineering - 4 Credits 

Instructor: David Yang (Science South 450, david.yang@csueastbay.edu)

Time: Mondays, Wednesdays 4:00P-5:50P

Location: SC-N206

Blackboard will be used for posting of course material, while email to the class will go to your school email account. Unlike previous courses I have offered, you will submit your work through your own project. If you do not have one, you will need to create a Google account. You have free space for up to 10 projects, and Google provides a nice set of basic tools for projects, including version control (Subversion) and defect reporting/enhancement requests. You can also use the Wiki for documentation.

Text:

Clayberg and Rubel, Eclipse Plug-ins, 3rd ed., Addison-Wesley, ISBN 978-0-321-55436-1.

[Note that this is available in online form through the library's Safari account.] We will also use other online sources.

Software:

  • For Java, you'll want Eclipse -- it is up to version 3.4.2 (Ganymede) right now. Use the RCP download.
  • For C++, you'll want Code::Blocks
  • For either, you'll want to get Subversion. Eclipse has a good plug-in called Subclipse that you can download and install through Eclipse. Code::Blocks does not seem to have a Subversion plug-in, but you can use Tortoise SVN on Windows, or any other client you might find. You can always use the basic version.
  • JUnit for Java (included with Eclipse) or CxxTest for C++. Cxxtest requires either Perl or Python as well. There are other C++ unit testing options as well, but despite the inconvenience of having to use Perl or Python to generate the testing code, it is, in my opinion, easier to get working. (I have used cppunit a little, too, but it only works with MS Visual C++ and must be rebuilt for the version of Visual C++ you are using.)

Goals:

Advanced concepts of object-oriented and architectural design, along with implementation. Pattern-based design of software using the Unified Modeling Language. Design patterns as re-usable architecture. That is the catalog description, and we will certainly be looking at those issues. At the same time, you will hopefully have at least something concrete that you could use as a starting point for purposes of building up your resume.

Prerequisites:

CS 3340 Introduction to Object Oriented Programming and Design. This course would teach you Java, but you can do your programming in C++ for Code::Blocks. More important is whether you can program on your own and are ok with figuring out things. This is especially true if you are working in C++.

Calculation of your grade:

Project 50%
Midterm 25%
The comprehensive final exam will count for 25%.

[grading notes: Your exams must average (using the relative weights above) out to a C- or better in order to get at least a C- in the course.]

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 

Attendance:
Remember that standard policy dictates that students who do not attend can be removed in favor of students on the waiting list who do show up. Also, note that you need to be in class to do the in-class assignments and to take the exams.

Academic Honesty: This course will follow the University's standard policy on academic dishonesty. In particular, note that regardless of whether you copy work from another student or allow another student to copy your work on an exam, you are both equally guilty and equally penalized. Copying text/files off the internet without properly giving credit is also cheating. Any cheating on an exam results in an F for the course. Cheating twice also results in an automatic F. All instances of cheating will be reported to the Dean's office.

Remember that the University may inflict further penalties than listed here under the provisions of the published Academic Dishonesty Policy. 

Office Hours: My office is in room 450 of the South Science Building. My office hours can be found on my info card


I will also be available at other times, including after class as needed. You can make an appointment, though stopping by to see if I'm around is fine. It is better to ask questions before the exams. 


This webpage's (modest) layout is originally from Bill Parkinson, who taught in the evening at St. Joseph's University in Philadelphia and created his pages before I knew any HTML.