![]() |
Telelogic Rhapsody (steve huntington) | ![]() |
Topic Title: Advanced Programming Topic Summary: Created On: 22-Jun-2005 18:04 Status: Read Only |
Linear : Threading : Single : Branch |
![]() |
![]()
|
![]() |
|
Instructor: Jan Broenink
Email: [email]J.F.Broenink@utwente.nl[/email] School: University of Twente Enschede Overijssel, The Netherlands Advanced Programming Course Objective To learn developing and testing object-oriented software for rather large systems. Focus is on software for embedded systems, i.e. signal processing, networks and control. This implies: 1. To get insight in issues of software development for rather large (embedded) systems. 2. To acquire skills on the development of software for (embedded) systems, using modern development methods, modern tools and libraries of software components. This means mastering: * To describe / document complex software using modern description methods. * To use modern tools to implement the software design effectively. * To use a modern appropriate computer language. 3. To maintain the acquired skills independently. *This means to judge when these specific methods, tools and languages need to be renewed, i.e. adapted to new developments in this area of science & engineering. Content Modern approach of software development for (embedded) systems. The focus is on software for applications in the area of scientific computing, signal processing, networking, measurement, control and interaction. The software projects can be taken from the student?s MSc specialization for which this course is compulsory. The course consists of the following parts: 1. Modern software description method - this is UML (Unified Modeling Language), a generally accepted graphical description form. 2. Modern software development methods and tooling - Currently, this is ROPES (Rapid Object-oriented Development of Embedded Systems), which elegantly fits to the natural way of iterative software development. The tool to be used that supports ROPES is Rhapsody. 3. Using a modern programming languageCurrently, this is C++, which both supports object-oriented as well as procedural / imperative approaches. Note that this course is not a course on learning C++. 4. Perform a rather large software project in groups of 3 students. Working iteratively and exploiting object orientation while working in a team should be demonstrated. Required Textbooks -Richard C. Lee and William M. Tepfenhart, (2001), ?UML and C++, a practical guide to object-oriented development?, Prentice Hall, 2nd edition, isbn 0-13-029040-3, (577 pp, paperback). - Handouts on the development method (ROPES) and tools (Rhapsody) to be used. Recommended Material Any modern book on C++, for instance: - Kyle Loudon, (2003), ?C++ Pocket Reference?, O'Reilly, ISBN: 0-596-00496-6, Paperback, 130 pages (eur 13,=) - Cay Horstmann, Timothy A. Budd, (2004), ?Big C++? Wiley, ISBN: 0-471-47063-5, Paperback 1232 pages. - Bjarne Stroustrup, (1997), ?The C++ Programming Language?, 3rd edition, Addison-Wesley, isbn: 0201889544 (911 pp, paperback). - Bjarne Stroustrup, (2000), ?The C++ Programming Language, Special Edition?, 3rd edition, Addison-Wesley, isbn 0201700735 (Hardback), 1040 pages. Assessment Reports, files of the software, and a demonstration are assessed for grading. Intermediate results also need to be delivered! Also, through an individual oral exam, all your deliverables are discussed. Rules 1. You have to work in teams of 3 persons. 2. Work should be delivered as zipped files via Teletop. 3. The oral exam at the end is individual, where all content and results are discussed. 4. Deadlines to deliver the work (intermediate and final) are rather strict. See the Roster for details. 5. In the end, you have to fill in a questionnaire on the course. It will not influence your grade, but it is a prerequisite to obtain your grade. |
|
![]() |
FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.