Resources:
Course Scope:
The Scientific Programming course is concerned with developing program representations of the artifacts of Science and Engineering, e.g., computing solutions of differential and integral equations, evaluating spectra of signals and the way systems modify signals in time and frequency, and building computer representations of interesting systems from earth sciences, biology, and engineering. This course is intended for advanced undergraduates and beginning graduate students from Engineering and the Scienes. We will provide a gentle review of the required mathematics and programming disciplines, but expect that you will have taken courses in the calculus, differential equations, and introductory programming.Required Texts, Notes, and Projects:
- Introduction to Dynamic Systems Theory, Models, and Applications, David Luenberger
- www.ecs.syr.edu/faculty/fawcett/handouts/CSE591
- A midterm and four programming projects are required. You may use C++, C#, or Java for the projects.
- This project is the target of a take home Midterm Examination that explores quality of documents and code in detail and requires Unit and Qualification testing.
- The second project is a large distributed system that is specified, designed, and implemented by the class as a team. The class manages the project as well, with a management structure and formal reviews.
Prerequisites:
Syllabus - Fall 2008:
Syllabus: CSE784 - Software Studio | |||
---|---|---|---|
Lecture | Topics | Read before class | Project |
Lecture #1 Mon, Aug 25 |
Course requirements, class procedures, software product model, development process, requirements specifications, Handouts | Notes 1, 2 | hand out Pr1 A Spec. |
Mon, Sep 01 | Labor Day - no classes | SPSG skim 1-5 MMM 1, 2 |
Pr1 |
Lecture #2 Mon, Sep 8 |
Software architecture, modules, requirements analysis, help with Pr1 B Spec. | Notes 2, 3 SPSG 6-8 MMM 7, 16, 17 |
Pr1 |
Lecture #3 Mon, Sep 15 |
Design Documentation, attributes of a good software design, implementation, and test | Notes 4, 5 SPSG 9, 12-16 MMM 11, 13, 19 |
Pr1 B Spec Due |
Lecture #4 Mon, Sep 22 |
Software development process models: waterfall, spiral, evolutionary programming, extreme programming Software configuration management |
Notes 6 SPSG 3 MMM 3, 4, 14, 16 |
Pr1 code due |
Lecture #5 Mon, Sep 29 |
Program and Architectural Review | Review Project A Spec. | Lead by Project Manager and Software Architect |
Lecture #6 Mon, Oct 06 |
Team Status Reports | Review Final Project A Spec | Pr1 CSpec Due |
Lecture #7 Mon, Oct 13 |
B Specification Review | Final Project Arch Concept Doc | Lead by Software Architect and Team Leaders |
Lecture #8 Mon, Oct 20 |
Prototype Review | Prototype code | Lead by Team Leaders Team Members present |
Lecture #9 Mon, Oct 27 |
Design Review | Preliminary C Specs | Lead by Team Leaders Team Members present |
Lecture #10 Mon, Nov 03 |
Design and Implementation team meetings | Midterm | |
Lecture #11 Mon, Nov 10 |
Preparations for Test Readiness Review | Deliver Final B Specs | Lead by Test Team Mgr |
Lecture #12 Mon, Nov 17 |
Test Readiness Review | Deliver C Specs | Lead by Test team leader |
Lecture #13 Mon, Nov 24 |
Final directions, review test procedures team meetings |
Lead by Project Mgr | |
Lecture #14 Fri, Dec 05 |
Class Project Qualification Test | Lead by Project Manager, Test Team Manager | |
Mon, Dec 8 | Product Handover - no class | Deliver Code, CD with Qual Directories | Midterm due |
Collaboration Server Team - 2007
Remote Software Assistant Team - 2006
Repository Testbed Team - 2005
Project Center Team - 2004
Cloner Team - 2003
Software Foundry Team - 2002