COSC 565/475: Software Engineering I

Fall Semester 2010 Course Information

Instructor: Dr. Sharad Sharma
Department of Computer Science
Bowie State University

E-MAIL: ssharma@bowiestate.edu

CLASS HOURS:Wednesday: 7:30 PM to 10:00 PM, CSB 312
OFFICE HOURS:Wednesday: 2:30 PM - 7:30PM or Other Times by Appointment
OFFICE LOCATION: Computer Science Building Room 317

How much does this job pay? Click here for more info.  

Both computer applications software engineers and computer systems software engineers are projected to be among the fastest growing occupations from 2008 to 2018


Required Text

Somerville, Ian (2001)Addison-Wesley Software Engineering 9th Edition, Massachusetts: Addison Wesley, ISBN-10: 0137035152, ISBN-13: 978-013703515


Reference Book(s):


COURSE DESCRIPTION

This course introduces the student to major topics in software engineering such as: requirements specification, analysis and design, testing, project management, and implementation. Additional topics such as software life cycle models, the Unified Modeling Language (UML), agile software development techniques, configuration management, change control, and project documentation will be discussed.

Prerequisite: COSC 214 or COSC 504


Course Related Links

* Syllabus
* Coding Style
* Assignments

Project Proposal

Source Code for Encounter Video game

ENCOUNTER TEST EVALUATION REPORT

 


Weekly Time Schedule

Date Topics Chapters Assignments

01-Sep

Introduction

Chapter 1

08-Sep

Software processes

Chapter 2

 

15-Sep

Agile software development.

Chapter 3

 

22-Sep

Requirements engineering.

Chapter 4

Assignment 1

29-Sep

System modeling

Chapter 5

Project Proposal

6-Oct

System modeling

Chapter 5

Quiz 1

13-Oct

Architectural design

Chapter 6

20-Oct

Mid Term Exam

 

 

27-Oct

Design and Implementation

Chapter 7

Project Demo 1 & Report 1

3-Nov

Software Testing

Chapter 8

Assignment 2

10-Nov

Software Testing

Chapter 8

 

17-Nov

Unit Testing (Lab 1)

(Lab 2)
Chapter 8

Quiz 2 Assignment 3(Option A) or Assignment 3 (OptionB)

24-Nov

Thanksgiving Break

 

 

01-Dec

Software Evolution

Chapter 9

  Assignment 3 due (Submit on ANGEL)-no extension

08-Dec

Software Management

Chapter 22

Project Demo 2, Report 2

15-Dec

Final Exam

 

STUDENT EXPECTED OUTCOMES: Upon completion of this course, the student will be able to:

EVALUATION:  Following is the Evaluation system for the Final Grade.  Each assignment will be graded.  Students are responsible for completing them as scheduled.

  1. Two Assignments                                           20%
  2. Quizzes (2)                                                      10%
  3. Mid-Term Exam                                              20%
  4. Final Exam                                                      20%
  5. Final Project                                                    30%

Final Project, Mid-term and Final exams are mandatory. 


Assignments: One assignment given prior to the mid-term exam and one assignment given after the mid-term exam.

Final Project: The purpose of the course project is to provide the students with the knowledge of software engineering methodology and the skills to apply it. The project consists of two iterations, both focused around the same software product. The first iteration is exploratory and represents the first attempt at developing the proposed software product. The second iteration is development and also includes revision of the project goals. The deliverables for the first and second iteration are reports and demos.

GRADING:  Academic dishonesty will result in grade F.  The following grade scale will be used:

90 % - 100% = A
80 % -  89%  = B
70 % -  79%  = C
60 % -  69%  = D
0   -    59%    = F

Final grades will be computed based upon credits earned for all the five components mentioned above.


USEFUL LINKS

  1. Visual Studio 2008 Express Editions Tutorial

    Running Visual C++ 2008 Express Edition for the First Time

    Compiling a Sample Application "Hello World"

    C++ Namespaces

    Namespaces

  2. Graphics

  3. cccfiles.zip (Graphics Libraries)

    Virtual Functions

    Virtual Functions

    Polymorphism

    Introduction to Polymorphism in C++

    Introduction to Eclipse Video

  1. Core Java Video TutorialsVideo

  2. Project: MetaAgent, a Steering Behavior Template Library

  3. Projects: Fuzzy Logic - Obstacle Avoidance - WPF

  4. Project: AI Life

  5. Junit tutorial

  6. JUNIT tutorial 2

  7. Junit with NetBeans IDE 6.0 tutorial

  8. Junit test case

  9. Class Assert API

  10. Introduction to testing Java programs with JUnit

  11. JUnit assertTrue

  12. Eclipse, an IDE for Java

  13. JUnit, a unit testing environment

  14. How to Develop a Responsibility Allocation Matrix