Contact PSU | PSU FAQs
future students current students faculty + staff Alumni + Friends
Computer Science
Maseeh College of Engineering and Computer Science
  • contact us
  • Maseeh College
Home Prospective Students
  • Prospective Students
  • Undergraduate Programs
  • Graduate Programs
  • Graduate Admissions Information
  • Biomedical Informatics
  • International Programs
  • Capstone
  • Forms
People
  • People
  • Faculty
  • Staff
  • Grad Students
  • IAB Members
Research
  • Research
  • Theses and Dissertations
  • Technical Reports
Courses Schedules
  • Schedules
  • Archived Schedules
Programs
  • Programs
  • Undergraduate Programs
  • Graduate Programs
  • Biomedical Informatics
  • International Programs
  • Capstone
  • Forms
Resources
  • Advising
  • Employment
  • Directions/Contact Info
  • Support
  • Student Groups
  • Forms
The page you are looking for has moved, please update your bookmark accordingly.

CS 300 Elements Of Software Engineering


Credit Hours: 4
Course Coordinator: Warren Harrison
Course Description: Practical techniques of program development for medium-scale software produced by individuals. Software development from problem specification through design, implementation, testing, and maintenance. The fundamental design techniques of step-wise refinement and data abstraction. A software project will be carried through the development cycle.
Prerequisites: CS 163, 201, 202.
Goals: To train students in developing medium-scale software, and to give practice in such a project. The purpose is to prepare them for projects in subsequent courses.

Upon the successful completion of this course students will be able to:

  1. Recognize software systems as human artifacts for which their developers must take responsibility.
  2. Separate software development into independent phases for the purpose of controlling the process.
  3. Participate in a developer-customer dialog about requirements for a particular software system.
  4. Develop a test plan for a software system using only its requirements documentation.
  5. Design software to solve a problem of small- to medium complexity, and express the design formally.
  6. Implement a software design to create a working system that must pass a user acceptance test.
  7. Test an implemented system according to an existing test plan, and correct any failures discovered.
  8. Use basic software tools under the UNIX system to aid in software development.
  9. Use iterative enhancement as a development technique.
  10. Explain the importance of information hiding in development.
  11. Explain the significance (or lack of significance) of testing coverage for software.
  12. Evaluate emerging formal software development methods.
Textbooks: Object-Oriented & Classical Software Engineering (7th ed), Stephen Schach, McGraw Hill
References: References on the web.
Major Topics:
  1. Requirements and specifications for software systems.
  2. System design.
  3. Implementation.
  4. Testing.
  5. Formal methods.
Laboratory Exercises: Develop a working medium-scale software system from a given problem statement. (8 weeks)

CAC Category Credits Core Advanced
Data Structures 0.1
Algorithms 0.1
Software Design 1.3 2.0
Computer Architecture
Programming Languages 0.5

Oral and Written Communications: Every student is required to submit at least one written report (not including exams, tests, quizzes, or commented programs) of typically four pages. Written communication is documentation for the class software project, and includes documents describing the specification, design, and testing of this project.
Social and Ethical Issues:
Theoretical Content: Formal analysis and design methods, about 25% of the course.
Problem Analysis: Understanding of intuitive software requirements, and critique of precise (English language) specifications.
Solution Design: A working software system must be designed, implemented, and tested by each student individually, to be subjected to an acceptance test.
  • Give to PSU
  • PSU FAQs
  • Contact PSU
  • Find People
  • Maps/Directions
  • PSU Sitemap
  • © 2010