Syllabus for SSE 550
Object-Oriented Design I
Fall Semester 2011 (11F)
Textbooks and Supplies:
Texts
(including web sites):
(Read the Important Note
(below the list of texts) before you buy! Three books are listed as "required",
but only one is required; which text is required depends on your choice of
language.)
- Head First Java (2nd ed.) , by Kathy Sierra and Bert Bates,
O'Reilly Media, Inc. ISBN 0596009208 (2005) Check
Out This Text at Amazon.com (Required for the Java option
only!)
- Head First C# (2nd ed.) , by Andrew Stellman and Jennifer Greene,
O'Reilly Media, Inc. ISBN 1449380344 (2010) Check
Out This Text at Amazon.com (Required for the C# option
only!)
- C++ How to Program (8th ed.), by Deitel and Deitel, Prentice Hall
ISBN 0132662361 (2011) Check
Out This Text at Amazon.com (Required for the C++ option
only!)
Important Note : Pick one
language (from Java, C#, or C++) to do both SSE 550 Object-Oriented
Design I and SSE 554 Object-Oriented Design II; then choose the text required
for SSE 550 for that language.
If you have a strong reason to choose one particular language, do choose
that language. If you don't, choose C++. C++ is the most challenging of the
three choices, but also opens the most doors, for example, into General Purpose
Programming on Graphics Processing Units (GPGPU).
Take a look at the survey Tiobe
survey , and sum the C and C++ percentages. (You will learn a lot of C by
studying C++ in 550 and 554).
Also take a look at Programming Language
Popularity , for several other looks at language popularity.
Back to Top
Software (including web sites):
Back to Top
Other Useful Resources (including web sites):
Back to Top
Catalog Description (Course Purpose):
This is a beginning course in object-oriented development. It may be taken
in one of several object-oriented languages, e.g., C#, Java, or C++.
This Online Learning course begins on August 23, 2011.
Back to Top
Course Objectives:
Breadth and Depth in Defining, Analyzing, and Solving Complex Problems:
- After successfully completing this course, you should be able to
demonstrate a basic capability to apply OOP design techniques to solve
complex problems.
Communicate Technical Aspects of the Solution for Complex Software
Engineering Problems to a Technical Audience:
- After successfully completing this course, you should be able to
demonstrate a basic ability to communicate regarding the application of OOP
design techniques to a technical audience.
Back to Top
Prerequisites:
SSE graduate standing or permission of the SSE graduate
chair.
Back to Top
Class Location:
- The Online Learning asynchronous "meetings" take place in Cyberspace;
i.e., on the Internet.
Back to Top
Grading:
Item
|
Percent of Term Grade
|
Project 1 |
20
|
Project 2 |
30
|
Project 3 |
40
|
Listserv contributions
|
10
|
Credit will be given only for original work.
Listserv Contributions
- The Listserv contribution grade will be awarded based on the professor's
professional judgement regarding your contributions to the course.
- Course-specific listserv messages are for technical issues, technical
solutions, and other substantive material relevant to the course subject
matter. Other course-related items (questions, procedural issues, etc.) are
also welcome.
- There is another listserv that is not specific to any one course.
Messages on this listserv are for software engineering-related items that
are applicable to several courses or to no course.
- If you have a question about any of this, please ask!
More information about grading is contained in the General Project Rubric .
Back to Top
Assignments:
- Purpose of projects:
- Use the projects to develop your capabilities, and
- Use the projects to demonstrate your capabilities.
- Deliverables for all projects:
- Projects may be delivered either via the course wiki or via the
course FTP site; both of these will be announced.
- Your report, if delivered via the FTP site should be a single,
standalone document .pdf, .html, or .doc format, or a single set of
appropriately linked html pages.
- Your report should be organized in such a way as to make the topics
that you want credit for covering easy to find, and demonstrate your
capabilities clearly and convincingly. Everything you want considered
for credit, including code and tests (including test results), should
be included in the report.
- Each project can be a single, integrated project that tries to
actually do something, or a collection of exercises that demonstrate
your capabilities but don't accomplish anything else, or any
combination of these two alternatives that you find convenient.
- You may include other material outside of the report (on the FTP
site), if you wish, but this material may or may not be considered in
evaluating your work.
- For each capability that you demonstrate within a report or major
section of that report, you may present only the final result of your
work; you need not demonstrate every step in the development of that
result.
- Some suggestions for doing a project are contained in the One Way to Do a Project page.
- Project 1 (solo):
- Java Option : Develop and demonstrate your
capabilities in the topics covered in Chapters 1 through 10 of the
(Java) text.
- C# Option : Develop and demonstrate your
capabilities in the topics covered in Chapters 1 through 7 of the (C#)
text.
- C++ Option : Develop and demonstrate your
capabilities in the topics covered in Chapters 1 through 5 of the (C++)
text.
- TBD.
- Project 2 (solo):
- Java Option : Develop and demonstrate your
capabilities in the topics covered in Chapters 11 through 14 of the
(Java) text.
- C# Option : Develop and demonstrate your
capabilities in the topics covered in Chapters 8 through 11 of the (C#)
text.
- C++ Option : Develop and demonstrate your
capabilities in the topics covered in Chapters 6 through 9 of the (C++)
text.
- TBD.
- Project 3 (team):
- Java Option : Develop and demonstrate your
capabilities in the topics covered in Chapters 15 through 18 and
Appendix B of the (Java) text.
- C# Option : Develop and demonstrate your
capabilities in the topics covered in Chapters 12 through 15` of the
(C#) text.
- C++ Option : Develop and demonstrate your
capabilities in the topics covered in Chapters 10 through 15 of the
(C++) text.
- You may form your own teams. Announce your team's composition via the
course listserv.
- Two person teams are strongly prefered; three person teams require
the prior written (email is okay) approval of the professor.
- TBD.
- TBD
Back to Top
Additional Information:
- Asynchronous Learning Nets (ALNs)
- Self Study: You study the texts and any other course study material
on your own(team).
- Collaborative Projects: After your self-study, you collaborate (via
the Internet [email, wiki]) with your partner(s) to produce a team
product. Your collaborative work is substantial, asynchronous, and
rapid.
- This course is an online learning course. Please read this Online Learning web page regarding
online learning in this course and this program.
Back to Top
(team)
- Subscribe to the course email listserv and be able to access our wiki.
Your professor can tell you how to do
this.
- Study the assigned material.
- Write and read email messages about ideas, problems and solutions to do
with the assigned study material.
- Do the assigned work, deliver the assigned deliverables.
- Write and read email messages (to/from the listserv) about ideas,
problems and solutions to do with the assigned homework.
- Review the deliverables produced by other people.
Back to Top
Changes to this Syllabus:
There will be changes to this syllabus, so check back frequently, and don't
forget to hit "Reload" or "Refresh".
Schedule of
Events and Assignments:
Start Date
|
End Date
|
Activity/Event
|
August 23, 2011 |
December 12, 2011 |
Course in Progress |
August 23, 2011 |
September 19, 2011 |
Work on Project 1 |
|
September 19, 2011 |
Project 1 due. |
|
October 17, 2011 |
Project 2 due. |
|
December 12, 2011 |
Project 3 due. |
|
December 12, 2011 |
Course ends. Firm date. |
Notes:
tbd
Back to Top
List of all courses.
Contact Information
- My Name: Dr. Paul E. MacNeil
- My E-mail: macneil_pe@mercer.edu .
- My Office Phone: 478 301-2185
- My FAX: 478 301-2732
- US Mail:
-
- Dr. Paul E. MacNeil
- School of Engineering
- Mercer University
- 1400 Coleman Ave.
- Macon, GA 31207
Back to Top
Important Additional Information:
"Students requiring accommodations for a disability should inform the
instructor at the close of the first class meeting or as soon as possible. The
instructor will refer you to the Disability Support Services Coordinator to
document your disability, determine eligibility for accommodations under the
ADAAA/Section 504 and to request a Faculty Accommodation Form. Disability
accommodations or status will not be indicated on academic transcripts. In
order to receive accommodations in a class, students with sensory, learning,
psychological, physical or medical disabilities must provide their instructor
with a Faculty Accommodation Form to sign. Students must return the signed form
to the Disability Services Coordinator. A new form must be requested each
semester. Students with a history of a disability, perceived as having a
disability or with a current disability who do not wish to use academic
accommodations are also strongly encouraged to register with the Disability
Services Coordinator and request a Faculty Accommodation Form each semester.
For further information, please contact Carole Burrowbridge, Disability
Services Coordinator, at 301-2778 or visit the Disability Support Services
website at http://www.mercer.edu/studentaffairs/disabilityservices"
* (10/09)
Accreditation: Mercer University is accredited by SACS.