VIEWS: 1 PAGES: 3 POSTED ON: 10/2/2012
CPE/CSC/EE/SE Programs Course Syllabus CSC/CPE 307: Introduction to Software Engineering ( 4 credits ) Prepared by: Gene Fisher, 12/14/07 Course Description: Requirements, specification, design, implementation, testing and (2007-2009 Catalog) verification of large software systems. Study and use of the software process and software engineering methodologies; working in project teams. 3 lectures, 1 laboratory. Not open to students with credit in CSC/CPE 308. Required/Elective: CPE CS EE SE Required X Elective X NOTE: CS majors may take CSC 307 in place of CSC 308 and 309. Prerequisite Courses: Prerequisite: CSC/CPE 103 with a grade of C- or better, and CSC/CPE 357. Prerequisites by Topic: Knowledge of computer science fundamentals, through data structures and medium-scale program development. Textbook: - Guide to the Software Engineering Body of Knowledge, (and/or other required material) www.swebok.org - Other online course materials References: - The Trac project, trac.edgewall.org - SVN Resources, subversion.tigris.org, svnbook.red-bean.com - Argo UML, argouml.tigris.org - design pattern tutorials, www.patterndepot.com/put/8/JavaPatterns.htm Course Coordinator: Gene Fisher URL (if any) www.csc.calpoly.edu/~djanzen/courses/307/ Course Goals/Learning Outcomes/Performance Criteria - to learn skills required to produce and maintain a high-quality software product on time and within budget - to know and execute principles and concepts of software requirements engineering, architecture, design, construction, testing, and maintenance - to work effectively as a member of a team to meet project milestones - to understand the software development lifecycle and apply a software process - to understand and apply software metrics - to gain experience with software configuration management - to gain experience documenting a software-intensive system - to effectively write and speak about software engineering Course Assessment Methods - midterm and final examinations - class participation/discussion and quizzes - assignments,/presentations/weekly timesheets - project artifacts, activities, and presentation Relationship of Course to EAC Program Outcomes (H=high, M=medium, L=low, N=none; n/a=not applicable) 3a 3b 3c 3d 3e 3f 3g 3h 3i 3j 3k 8l 8m 8n CPE L H H M H M H M M L H N L N EE n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a SE n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a Major Topics Covered: (number of hours each) - definition of software engineering (1) - requirements engineering (3) - software architecture (3) - software configuration management (1) - software process (1) - software design and design patterns (6) - software construction (3) - software testing (6) - software quality (3) - software maintenance (3) Laboratory Projects and Schedule (specify number of weeks on each) - team meetings (4) - tool-use tutorials and exercises (2) - project reviews (3) - project presentations (1) Contribution of Course to meeting EAC Category 5 Requirements College-level mathematics and basic sciences: 0 credits Engineering Topics (Science and/or Design): 4 credits General education component: 0 credits Curriculum Category Content (specify hours per quarter) Area Core Advanced Area Core Advanced Algorithms 0 0 Data Structures 0 0 Software Design 9 0 Prog. Languages 0 0 Comp. Arch. 0 0 Oral and Written Communications Communication is a significant component of the course. The specific aspects of communication are: - technical team meetings - project reviews - final project oral presentation - written requirements and software architecture documents Social and Ethical Issues There is some discussion of these issues, but this area is not a major focus of the course. Theoretical Content There is no significant theoretical content. Problem Analysis Problem analysis is a major objective of the course. Students analyze the requirements of a customer to produce a requirements document. Students then analyze the produced requirements to determine strategies for concrete program design, construction, and testing. Solution Design Solution design is a major objective of the course. Students produce a software design, construct a program implementation from the design, and test the program solution thoroughly.
Pages to are hidden for
"CPE/CSC/EE/SE Programs Course Syllabus"Please download to view full document