There are three options to continue learning Java or C# or C++.
There are three (or two - read on) options to start learning enterprise programming in Java or C#. (See the Wikipedia page on Enterprise Applications.) If you already did SSE 550 in C++, you may (as part of an experiment) switch to C#; there is an appendix in the enterprise C# text to help you to make the switch.
There is one (experimental) option to learn General Purpose Programming on Graphics Processing Units (GPGPU). See the Wikipedia page on General-Purpose Computing on Graphics Processing Units (GPGPU) using Nvidia's CUDA technology. (If you will be using a computer with AMD's GPGPU technology, you will have to make some adjusts to this syllabus.) Please contact the professor if you are interested, before the beginning of the course, before buying texts. Are you already familiar with the use of pointers and C memory management? It will matter.
Please read the "Notes" in the Texts section, below.
Option
|
Notes
|
Text(s)
|
Java (non-enterprise) | Continues SSE 550 |
|
Java (enterprise) | - | The Java EE 6 Tutorial: Basic Concepts by Jendrock et al., Prentice Hall (2010) ISBN 978-0137081851. Check this text out at Amazon.com Check Oracle's web site to see if you can legally download an electronic copy. Also check out the Netbeans tutorials at http://netbeans.org/kb/trails/java-ee.html > |
C# (non-enterprise) | Continues SSE 550 | Professional C# 4.0 and .NET 4 by Nagel et al., WROX (2010) ISBN 978-0470502259 (Required). Check this text out at Amazon.com |
C# (enterprise) | - | Professional Enterprise .NET by Arking et al., WROX (2009) ISBN 978-0470447611 (Required). Check this text out at Amazon.com |
C++ (non-enterprise) | Continues SSE 550 | C++ How to Program (8th ed.), by Deitel and Deitel, Prentice Hall ISBN 0132662361 (2011). Check Out This Text at Amazon.com (Required). |
C++ (enterprise) | Switch to
C#. This is allowed for this course, this semester, as an experiment.
Futures courses and semesters are TBD.
Enterprise programming in .NET can be done in C++, but the support sources for C# are much more plentiful. |
See the C# (enterprise) option above. Note that the text includes an appendix on transitioning to C#. |
C++ (GPGPU) | Note that
you will use C (not C++) pointers and C (not C++) memory management
(malloc(), free(), etc.)
If you have a GPGPU-enabled graphics card, you will need a different set of resources; in this case, please contact the professor. |
|
Java Option:
The latest Java SE Development Kit (JDK), including the documentation, http://www.oracle.com/technetwork/java/index.html . (Please note that the documentation is a separate download.) (Required.)
A Java Integrated Development Environment (IDE) of your choice. NetBeans http://netbeans.org/ and Eclipse http://eclipse.org/ work well. Note that NetBeans can be downloaded and installed from the JDK installation download page. (Required.)
C# Option:
The latest Microsoft Visual C# Express Edition Integrated Development Environment (IDE) https://www.microsoft.com/visualstudio/en-us/products/2010-editions/express . (Required.)
C++ Option:
A C++ Integrated Development Environment (IDE) of your choice. NetBeans http://netbeans.org/ and Eclipse http://eclipse.org/ work well. Note that NetBeans can be downloaded and installed from the JDK installation download page, and Microsoft Visual C++ Express Edition https://www.microsoft.com/visualstudio/en-us/products/2010-editions/express. Note that NetBeans can be downloaded and installed from the JDK installation download page listed above. (Required.)
For the GPGPU sub-option, you will need the CUDA development software http://www.nvidia.com/object/cuda_home_new.html.
An Internet ftp client of your choice. Core FTP LE is free and works well http://www.coreftp.com/ . (Required, but your choice)
XHTML Tutorial This tutorial may well be helpful for people following one of the enterprise options.
This second course extends the material covered in SSE 550 with greater breadth and depth. Students will use the same programming language (e.g., C#, Java, or C++) that they used in the prerequisite course. The specific topics covered may vary depending on the language used by the student
This course begins on January 10, 2012.
After successfully completing this course, you should be able to demonstrate a more advanced capability to apply OOP design techniques to solve complex problems.
After successfully completing this course, you should be able to demonstrate a more advanced ability to communicate regarding the application of OOP design techniques to a technical audience.
SSE 550.
The Online Learning asynchronous "meetings" take place in Cyberspace; i.e., on the Internet.
Item |
Percent of Term Grade |
Project 1 |
30 |
Project 2 |
30 |
Project 3 |
30 |
Listserv contributions |
10 |
More information about grading is contained in the General Project Rubric.
Purpose 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 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 (see Project Delivery, below), 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 Delivery
Projects will be delivered entirely via the FTP site (which will be announced when it is ready).
Two person teams are preferred. Three person teams require the prior approval of the professor.
Develop a plan to extend your capabilities in the topics covered in the text, starting at the point where you are ready to start. Remember that the purpose of the projects is to develop and demonstrate your capabilities.
Develop and demonstrate your capabilities in topics from Kirk and Hwu.
Please raise questions and issues via the course listserv.
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 [wiki,email, ftp]) with your partner(s) to produce a team product. Your collaborative work is substantial, asynchronous, and rapid.
Subscribe to the course email listserv and be able to access our wiki and FTP server (after it has been announced).
Study the assigned material.
Write and read email messages (to the listserv) about ideas, problems and solutions to do with the assigned study material.
Do the assigned projects/exercises.
Write and read email messages (to/from the listserv) about ideas, problems and solutions to do with the assigned homework.
Review the reports done by other people; give them credit in your future reports if you adopt something good from their (earlier) report.
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
|
January 10, 2012 | April 30, 2012 | Course in Progress |
January 10, 2012 | February 20, 2012 | Work on Project 1 |
February 20, 2012 | Project 1 due. Post to our FTP server. | |
March 26, 2012 | Project 2 due. Post to our FTP site. | |
April 30, 2012 | Project 3 due. Post to our FTP site. | |
April 30, 2012 | Course ends. |
Notes:
tbd
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. 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.