Course Description s41

Course Description s41

<p> COURSE DESCRIPTION Course Number CSCI 3308 Course Title Software Engineering Methods and Tools Semester Hours 3 Course Coordinator Amer Diwan Course URL http://www.cs.colorado.edu/courses/csci3308.html</p><p>Current Catalog Description Focuses on software engineering methods and tools for application development, including design and system organization; using and creating reusable libraries; building, testing, and debugging; and performance evaluation. Two hours of lecture, three hours of lab per week. Textbook</p><p> Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Commonly known as the "Gang of Four" book.  Refactoring: Improving the Design of Existing Code, Martin Fowler</p><p>References</p><p>Instructors (for the last 3 years: Fall 2006 — Spring 2009) Amer Diwan (Fall 2007 and 2008) Kenneth Anderson (Fall 2006) Meeting Times (Number and Duration of Sessions per Week) 2 class periods (50 minutes each), one lab (1:50 minutes) Course Outcomes</p><p>This course covers many of the most useful methods and tools currently used in software development. The tools and methods covered in this course are widely used for developing software in industry. Specifically, after taking this course, students will have mastery of:</p><p> Software methods, particularly o design patterns o testing techniques (black box and white box) o practices used in agile methods (particularly, test-driven development, refactoring, and pair programming) o text processing (basic parsing), o software profiling/optimization.  Software tools, particularly o modern IDEs such as Eclipse o debuggers o testing frameworks o version control systems o build systems (such as Ant). Relationship between Course Outcomes and Program Outcomes Outcomes A. B. C. D. E. F. Apply Computing Design Team Professional Communicate Knowledge Requirements System Work Issues Effectively Design Patterns ✓ ✓ ✓ Testing ✓ ✓ Agile methods ✓ ✓ ✓ ✓ ✓ Text processing ✓ ✓ Software Profiling ✓ ✓ Software tools ✓ ✓ ✓</p><p>Outcomes G. H. I. J. K. Analyze Professional Current Design Design & Impacts Development Techniques Tradeoffs Development Design Patterns ✓ ✓ ✓ ✓ ✓ Testing ✓ ✓ ✓ Agile methods ✓ ✓ ✓ ✓ Text processing ✓ ✓ ✓ Software Profiling ✓ ✓ Software tools ✓ ✓ ✓ Prerequisites by Topic CSCI 2270: Data Structures Major Topics Covered in the Course  Agile Methods  Test development and testing strategies  Design Patterns  Refactoring  Text processing  Software Profiling/Optimization Assessment Plan for the Course There are weekly assignments and labs that are all graded. The assignments and labs all use agile practices (e.g., pair programming). The course is structured so that it is as practical and realistic as possible. For example, the course allows students to use whatever resources are available to them in solving the assignments and labs (e.g., doing google searches or asking their friends) as long as they acknowledge any help that they received. There is also a midterm and a final exam. How is Data from this Course used to Assess Program Outcomes? The instructor retains copies of all student homework assignments and labs. Also the instructor retains copies of sample exams (above average, below average, average). These materials are then evaluated by the department’s external advisory board for examples that demonstrate fulfillment of the program outcomes. Curriculum Category Content (Semester Hours) Area Core Advanced Algorithms Data Structures 0.25 Computer Organization and Architecture Software Design 2.25 Concepts of Programming Languages 0.5</p>

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    3 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us