
Changes are possible.
|
|
|
Instructor: Dr. Paul E. MacNeil
Office: Suite 223a, School of Engineering
Phone: 478-301-2185
478-301-2732
Email: macneil_pe@mercer.edu
Software Engineering (8th ed.) by Ian Sommerville, Addison Wesley (2006) in2smithereens@hotmail.comISBN 978-0321313799 (Required). Check this text out at Amazon.com
Refactoring: Improving the Design of Existing Code (1st ed.) by Martin Fowler, Addison-Wesley, ISBN 0-201-48567-2 (1999) Check Out This Text at Amazon.com (Required)
Note that this course is intended to be OS neutral.
An Internet ftp client of your choice. Core FTP LE is free and works well http://www.coreftp.com/ . (Required, but your choice)
TBD.
Software maintenance and the improvement of the design of existing code. Incremental development, adding new features with support from refactoring. Design quality evaluation and design quality improvement. Test-first development.
Please note that this course is conducted *asynchronously* with regard to the face-to-face class meeting schedule. That is, the course begins on August 25, 2009, for *all* students.
After successfully completing this course, you should be able to demonstrate a basic capability to apply refactoring techniques to solve complex problems.
After successfully completing this course, you should be able to demonstrate a basic ability to communicate regarding the application of refactoring techniques to a technical audience.
SSE 556 Java Design I or permission of the program director based on you documented capability to develop object oriented software.
The (limited) Macon face-to-face meetings take place in the Engineering Building Room 216b. (Directions to the Macon campus, and a map of the Macon campus can be found at http://www2.mercer.edu/Admissions/macon.html and http://www2.mercer.edu/About_Mercer/MaconMap/default.htm [look for Building 34 on the map], respectively.)
The Online Learning asynchronous "meetings" take place in Cyberspace; i.e., on the Internet.
|
Item |
Percent of Term Grade |
|
Project 1 (solo) |
15 |
|
Project 2 (team) |
55 |
|
Project 3 (team) |
20 |
|
Listserv/Wiki contributions |
10 |
Credit will be given only for original work.
Listserv/Wiki Contributions
More information about grading is contained in the General Project Rubric.
This course will also use an additional grading rubric.
in2smithereens@hotmail.comPurpose of projects:
Use the projects to develop your capabilities, and
Use the projects to demonstrate your capabilities.
Deliverables for all projects:
Your report should be a single, standalone document in .html or .doc format.
The target audience for your report is the set of practicing software engineers who have not studied refactoring.
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, 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):
Find some code in your selected language (Java, C#, or C++) that you can refactor for this project. (Hint: the source code for Junit, Nunit, or CppUnit would not be an appropriate choice. Otherwise, open source software may be a good source of code to refactor.)
Develop and demonstrate your capabilities in the topics covered in Chapters 3 through 7 of Fowler.
TBD.
Project 2 (team):
Find some code in your selected language (Java, C#, or C++) that you can refactor for this project. (Hint: the source code for Junit, Nunit, or CppUnit would not be an appropriate choice. Otherwise, open source software may be a good source of code to refactor.)
Develop and demonstrate your capabilities in the topics covered in Chapters 3 through 11 of Fowler.
Two person teams are strongly prefered; three person teams require the prior written (email is okay) approval of the professor.
TBD.
Project 3 (team):
Read in Sommerville Part 6 and Chapter 32.
Write a report that demonstrates your good understanding of each chapter and chapter section (e.g., 26.3) in the assigned reading.
Two person teams are strongly prefered; three person teams require the prior written (email is okay) approval of the professor.
Your report will be evaluated based on breadth, depth (completeness), and quality. You need not cover every topic to the maximum level of completeness, but you should demonstrate completeness in at least some topics. However, don't leave any topics (i.e., chapter sections) uncovered.
Including explanations of how you could or would apply the topics of to a real or potentially real project helps in developing and demonstrating your understanding.
TBD
Asynchronous Learning Nets (ALNs)
Self Study: You study the texts and any other course study material on your own.
Collaborative Projects: After your self-study, you collaborate (via the Internet [email, ftp]) with your partner(s) to produce a team product. Your collaborative work is substantial, asynchronous, and rapid.
This course is an online learning course with 100% optional face-to-face class meetings Please read this Online Learning web page regarding online learning in this course and this program.
What Do I Do?
Subscribe to the course email listserv and be able to access our FTP server; 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 exercises.
Write and read email messages (to/from the listserv) about ideas, problems and solutions to do with the assigned homework.
Review the exercises done by other people, as assigned by the professor.
There will be changes to this syllabus, so check back frequently, and don't forget to hit "Reload" or "Refresh".
|
Start Date |
End Date |
Activity/Event |
|
August 25, 2009 |
December 3, 2009 36 |
Course in Progress |
|
August 25, 2009 |
August 31, 2009 |
1. Download and install your software development environment(along with its documentation, if any); see Software . Start to become familiar with your software development environment. 2. Read your text's Introduction. 3. Start work on Project 1. |
|
|
September 28, 2009 |
Project 1 due. |
|
|
November 11, 2009 |
Project 2 due. |
|
|
December 11, 2009 |
Project 3 due. |
|
|
December 11, 2009 |
Course ends. |
Notes:
tbd
|
Date |
|
August 26, 2009 |
|
September 02, 2009 |
All Macon face-to-face meetings are from 6:00 pm to 9:00 pm.
My Name: Dr. Paul E. MacNeil (Atlanta, Macon and DL Section)
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
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. If you
are not registered with Disability Services, the instructor will
refer you to the Disability Support Services office for consultation
regarding documentation of your disability and eligibility for
accommodations under the ADA/504. In order to receive
accommodations, eligible students must provide each instructor with a
“Faculty Accommodation Form” from Disability Services.
Students must return the completed and signed form to the Disability
Services Coordinator on the 3rd floor of the Connell Student Center.
Students with a documented disability who do not wish to use academic
accommodations are also strongly encouraged to register with
Disability Services and complete a Faculty Accommodation Form each
semester. For further information, please contact Carole
Burrowbridge, Disability Services Coordinator, at 301-2778 or visit
the web site at http://www.mercer.edu/stu_support/swd.htm
Accreditation: Mercer University is accredited by SACS.