SYLLABUS
CSE308 - Spring 2019
Software Engineering
https://ppawar.github.io/CSE308-S19/index.html
Introduces the basic concepts
and modern tools and techniques of software engineering. Emphasizes the development
of reliable and maintainable software via system requirements and
specifications, software design methodologies including object-oriented design,
implementation, integration, and testing; software project management;
life-cycle documentation; software maintenance; and consideration of human
factor issues. (https://sunyk.cs.stonybrook.edu/students/Undergraduate-Studies/courses/CSE308)
The students work in teams of
about four people to produce a significant piece of software during the entire
semester. Each team produces a Specification Document, a Design Document, and a
Test Plan. Each team gives an oral presentation of a design review and a formal
demonstration of their project at the end of the semester.
·
An ability to perform project planning, requirements analysis,
and system/test design.
·
An ability to work as a team to produce software systems that
meet specifications while satisfying an implementation schedule.
·
An ability to produce professional quality oral/written
presentations of system designs, reviews, and project demonstrations.
C or higher: CSE 219 or CSE
260; CSE 320; CE305 or CE306; CSE major.
Instructor: Pravin
Pawar
Schedule:
Tuesday/Thursday 5:00 PM – 6:20 PM
Office:
B424, Department of Computer Science, SUNY Korea
Office
Hours: Tuesday/Thursday 10:30 AM –
12:00 PM, Wednesday 5:00 PM – 6:30 PM
Email:
pravin.pawar@sunykorea.ac.kr
Phone:
(O) 032-626-1227, (M) 010-8692-4908
·
Lectures: Monday/Wednesday 3:30 PM – 4:50 PM
·
Place: B206
The
following course schedule provides topics, problem sets, quiz dates, and exam
dates. Check back frequently.
Date |
Activity |
Topics |
Course material |
Monday, February 25, 2019 |
Lecture
1 |
Introduction
to the course |
|
Wednesday, February 27, 2019 |
Lecture
2 |
Software
Development LifeCycle, introduction to commodity
ecologies (Dr. Mark Whitaker) |
|
Monday, March 4, 2019 |
Lecture
3 |
Introduction
to React and MongoDB |
|
Wednesday, March 6, 2019 |
Lecture
4 |
Individual HW
given |
|
Monday, March 11, 2019 |
Lecture
5 |
Text: Chapter 1 – Introduction to Software Engineering |
|
Wednesday, March 13, 2019 |
Lecture
6 |
Text:
Chapter 2 – Software Processes |
|
Monday, March 18, 2019 |
Lecture
7 |
Text:
Chapter 3 – Agile Software Development |
|
Wednesday, March 20, 2019 |
Lecture
8 |
Introduction
to OAuth2.0 Github tutorial |
|
Monday, March 25, 2019 |
Lecture
9 |
Individual HW
submission Text:
Chapter 4 – Requirements analysis |
|
Wednesday, March 27, 2019 |
Entrepreneurship
day/ no classes |
|
|
Monday, April 1, 2019 |
Lecture
10 |
Project -
Milestone 1 |
|
Wednesday, April 3, 2019 |
Lecture
11 |
Quiz
1 |
|
Monday, April 8, 2019 |
Lecture
12 |
Text:
Chapter 4 |
|
Wednesday, April 10, 2019 |
Lecture
13 |
Text: Chapter 5 – System Modeling |
|
Monday, April 15, 2019 |
Lecture
14 |
Chapter
5 continued |
|
Wednesday, April 17, 2019 |
Lecture
15 |
Project
- Milestone 2 |
|
Monday, April 22, 2019 |
Lecture
16 |
UML
continued |
|
Wednesday, April 24, 2019 |
Lecture
17 |
UML modeling exercises |
|
Monday, April 29, 2019 |
Lecture
18 |
Text: Chapter 6 Project
- Milestone 3 |
|
Wednesday, May 1, 2019 |
Lecture
19 |
Design patterns |
|
Monday, May 6, 2019 |
Substitute
holiday/no class |
|
|
Wednesday, May 8, 2019 |
Lecture
20 |
Project
day |
|
Monday, May 13, 2019 |
Lecture
21 |
Software
testing/ Midterm review |
|
Wednesday, May 15, 2019 |
Lecture
22 |
Midterm |
|
Monday, May 20, 2019 |
Lecture
23 |
Project
- Milestone 4 |
|
Wednesday, May 22, 2019 |
Lecture
25 |
Project
management |
|
Monday, May 27, 2019 |
Lecture
26 |
Project planning |
|
Wednesday, May 29, 2019 |
Lecture
27 |
Quiz 2 |
|
Monday, June 3, 2019 |
Lecture
28 |
Project
day |
|
Wednesday, June 5, 2019 |
Lecture
29 |
Project
- final presentation |
|
Monday, June 10, 2019 |
|
Grades
finalization |
|
The CSE308 course has following
three graded components:
·
Individual HW Assignment (10%): Each student will be required to
complete a programming assignment individually that uses all the needed Web
technologies.
·
Quizzes (10%, 2 quizzes given): The quizzes will test each
student's understanding of the core course concepts as well as the technologies
used for the project.
·
Midterm Exam (20%): This exam will test each student's
understanding of the core course concepts as well as the technologies used for
the project.
·
Group Project (60%): Students will work in teams of four to
create a full-fledged Web application. The expectations for this app is that it is great and approved by the customer. It should
be look professionally designed and operate as intended (i.e. bug free). There
will be several components to this project, namely, a Requirements
Specification Documentation & Presentation, Software Design Documents, Test
Plan Documents, Progress Reviews, and of course the Completed Deliverables with
a Final Presentation.
The final grade is based on
the accumulated points from the individual HW assignment, mid-term exam and
group project.
This
semester the CSE308 project will be developing a mobile phone application of
Commodity Ecology proposed by Dr. Mark D. Whitaker from the Department of
Technology & Society at SUNY Korea. The United Nations acknowledged his
leading work in understanding global commodity flows. See the following link
for details:
The
students will jointly work with Dr. Mark D. Whitaker (project customer) to
understand the requirements of expected mobile application, approve the
requirement specifications and develop this app to the level of satisfaction
expected by him. Regarding technology choices, refer to the following article
which explains how to choose the right tech stack for a mobile app.
https://www.alphalogicinc.com/blog/how-to-choose-your-mobile-app-technology-stack/
If you have a physical, psychological,
medical or learning disability that may impact your course work, please contact
Student Services & Career Team -
Academic Building, A208, 032-626-1190. They will determine with you what
accommodations, if any, are necessary and appropriate. All information and
documentation is confidential.
Students who require assistance during emergency evacuation are encouraged to
discuss their needs with their professors and Disability Support Services. For
procedures and information go to the following website: http://www.stonybrook.edu/ehs/fire/disabilities
Each student must pursue his
or her academic goals honestly and be personally accountable for all submitted
work. Representing another person's work as your own is always wrong. Faculty
are required to report any suspected instances of academic dishonesty to the
Academic Judiciary. Faculty in the Health Sciences Center (School of Health
Technology & Management, Nursing, Social Welfare, Dental Medicine) and
School of Medicine are required to follow their school-specific procedures. For
more comprehensive information on academic integrity, including categories of
academic dishonesty, please refer to the academic judiciary website at http://www.stonybrook.edu/commcms/academic_integrity/index.html
Stony Brook University expects
students to respect the rights, privileges, and property of other people. Faculty
are required to report to the Office of Judicial Affairs any disruptive
behavior that interrupts their ability to teach, compromises the safety of the
learning environment, or inhibits students' ability to learn. Faculty in the
HSC Schools and the School of Medicine are required to follow their
school-specific procedures.