Course Outline: Each student can perform a software development or research project. For a research project a student has to submit a thesis. For software development project, a student should submit documents having the following: Project proposal, Software Requirements Specification, Software Design Specification, Software Test Plan and User Manual. Besides, each of the students has to give multiple intermediate presentations to report their project progress.