East Carolina University
Department of Computer Science
CSCI 3030
Software Engineering I
Standard Syllabus
3 credits |
Prepared by Mark Hills, 06/2018 |
Catalog entry
P: CSCI 2540. Software engineering principles, development
methodologies and tools for developing large and complex software
systems. (Writing intensive)
Course summary
This course provides practical and theoretical knowledge of software engineering. Students will learn the processes, methodologies, and tools used during the complete life cycle of professional software projects. Students are required to complete a team project over the course of the semester.
Course topics
-
The nature of software and software engineering practice
-
Software process models
-
Software requirements elicitation, analysis, and documentation
-
Software architecture and design, focusing on object-oriented design techniques
-
Modeling with the Unified Modeling language (UML)
-
Software testing strategies and documentation
-
Project management concepts, including team management, risk management, and project estimation
-
Configuration management
-
Software maintenance and evolution
Student learning outcomes
-
Understand the core concepts of software engineering, including the stages of the software
development lifecycle, the importance of balancing trade-offs, and the necessity of
planning and teamwork
-
Evaluate and chose process models for the development of software systems
-
Apply appropriate project scheduling and management techniques to create project management plans and documents
-
Apply appropriate requirements elicitation, analysis, and modeling techniques to establish and document software requirements
-
Design software systems using object-oriented techniques and visual modeling tools
-
Apply appropriate software testing techniques to create test cases, perform tests, and create test documentation
-
Use version control systems to manage software configurations and collaborate effectively on software development
Textbook
Sommerville. Software Engineering. 10th Edition. 2015. Pearson.
Grading
The course is graded using a combination of a group project (40%), weekly quizzes (10%), a midterm exam (25%), and a final exam (25%).
Grade meanings
Grade |
Meaning |
A |
Achievement substantially exceeds basic course expectations |
A− |
|
B+ |
|
B |
Achievement exceeds basic course expectations |
B− |
|
B+ |
|
C |
Achievement adequately meets basic course expectations |
C− |
|
D+ |
|
D |
Achievement falls below basic course expectations |
D− |
|
F |
Failure – achievement does not justify credit for course |