DTSC 5565/DTSC 4565: Software Engineering for Data Scientists
Fall Semester 2024 Course Information
Instructor: Dr. Sharad Sharma Instructor Website: https://sharadonly.github.io/ CLASS HOURS: Monday: 10:00 AM - 12:50 PM |
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: DTSC 5501/ DTSC 3020
Teaching Assistant
1) Alwin Prabhu (alwinprabu@my.unt.edu)
2) Ms. Keerthana Srinivasan (keerthanasrinivasan@my.unt.edu)
Text Book
Somerville, Ian, Addison-Wesley Software Engineering 10th Edition, Massachusetts: Addison Wesley, ISBN:0133943038, ISBN-13:9780133943030
Reference Book(s):
- Braude, Eric J. (2001). Software Engineering An Object-Oriented Perspective, John Wiley & Sons, Inc., ISBN 0-471-32208-3.
- Barnes D. J., and Kölling, M. (2003) Objects First With Java, Prentice Hall,ISBN 0-13-044929-6.
- Bruegge, B., and Dutoit, A. (2000). Object-Oriented Software Engineering Conquering Complex and Changing Systems, Prentice-Hall, ISBN 0-13-489725-0.
- Bruegge, B., and Dutoit, A. H. (2004). Object-Oriented Software Engineering: Using UML, Patterns and Java, Second Edition, Prentice Hall, ISBN 0-13-0471100
- David, K. (1998). The Art of Computer Programming, V. 1-3, 2nd ed. Boxed Set, Addison-Wesley, ISBN: 0201485419.
- Ghezzi, J., and Mandrioli, P. (1991). Fundamentals of Software Engineering by Hall.
Course Related Links
All the lecture slides are at Canvas
* Syllabus
* Flyer
* Assignments (On Canvas)
Weekly Time Schedule
Date | Topics | Chapters | Assignments |
22-Aug |
Introduction |
Chapter 1 |
|
29-Aug |
Software processes |
Chapter 2 |
|
5-Sep |
Agile software development. |
Chapter 3 |
Assignment 1 |
12-Sep |
UML Modeling & Object Oriented Design |
Quiz 1 |
|
19-Sep |
Requirements engineering. |
Chapter 4 |
Project Proposal |
26-Sep |
System modeling |
Chapter 5 |
|
3-Oct |
Architectural design |
Chapter 6 |
|
10-Oct |
Design and Implementation | Chapter 7 |
|
17-Oct |
Mid Term Exam |
|
|
24-Oct |
Software Testing |
Chapter 8 | |
31-Oct |
Chapter 8 |
Assignment 2 |
|
07-Nov |
Software Evolution |
Chapter 9 |
Quiz 2 |
14-Nov |
Software Management, Safety Engineering, Security Engineering |
Chapter 12, 13, 22 |
Assignment 2 due (Submit on Canvas)-no extension |
21-Nov | Work on Final project (No class) | No Class | |
28-Nov | Thanks Giving Break | No Class | |
05-Dec |
Final project presentation |
Project Demo 2, Report 2 |
|
12-Dec | Final Exam |
STUDENT EXPECTED OUTCOMES: Upon completion of this course, the student will be able to:
- Analyze and develop the role and responsibilities of a software engineer Assess project management and its role in systems planning, systems analysis, systems design, systems implementation, and systems support Analyze and develop a feasibility plan, requirements and design documentation Synthesis and perform data modeling and process modeling, and explain why they are important,Design, develop, test, and demonstrate a major piece of software.Develop and produce software process artifacts, most importantly the code and user documentation.
- Whether adapt a process to your needs and select an appropriate set of best practices that will guide you in completing a software development project.
EVALUATION: Following is the Evaluation system for the Final Grade. Each assignment will be graded. Students are responsible for completing them as scheduled.
- Two Assignments 20%
- Quizzes (2) 10%
- Mid-Term Exam 20%
- Final Exam 20%
- 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