0% found this document useful (0 votes)
24 views12 pages

Syllabus (Fall 2024) SDP

CS 6300 is a graduate-level course focused on software engineering processes, requiring prior knowledge in software engineering concepts and Java programming. Students will complete individual and group projects, utilizing platforms like Canvas, Ed Discussion, and Zoom for course management and communication. The syllabus emphasizes the importance of meeting prerequisites, adhering to deadlines, and following submission guidelines to ensure successful course completion.

Uploaded by

saeb2saeb
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views12 pages

Syllabus (Fall 2024) SDP

CS 6300 is a graduate-level course focused on software engineering processes, requiring prior knowledge in software engineering concepts and Java programming. Students will complete individual and group projects, utilizing platforms like Canvas, Ed Discussion, and Zoom for course management and communication. The syllabus emphasizes the importance of meeting prerequisites, adhering to deadlines, and following submission guidelines to ensure successful course completion.

Uploaded by

saeb2saeb
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

CS 6300: Software Development Process

Course Syllabus – Fall 2024

IMPORTANT:
PLEASE READ THE SYLLABUS IN ITS ENTIRETY DURING THE FIRST WEEK OF CLASS
It is a part of the course content and explains what is required
to successfully complete the course and its assignments.

Instructor Information
Instructor: Alessandro Orso
Email: Use only private messages on Ed Discussion during the semester
Office hours: Weekly, online (live and recorded), day/time announced on Ed Discussion

TA Team: See Canvas and Ed Discussion

General Course Information


Description
This is a graduate-level, hands-on course about software engineering. The goal of the course is to
study and learn the way software is specified, designed, developed, verified, and maintained.
Throughout the course, students will have to complete a set of individual assignments, a group
project, and an individual project. By the end of the course, students will understand the role of
software processes in the development of software and will have experienced several types of
processes, from rigid to agile. Students will also be exposed to and become familiar with a variety of
modern technologies and tools and understand their connection to software processes.

Prerequisites
There are some prerequisites we expect the students to satisfy to be successful in the class:
● You should have taken a software engineering course before or have some experience
working as a software engineer in a company.
● You should be familiar with basic software engineering concepts, such as requirements,
software design, and software testing.
● You should be familiar with Java and be comfortable writing code. Knowing another
object-oriented language, such as C++ or C#, may be enough, but please keep in mind
that all assignments and projects are Java-based. (Every semester, there are students
who take the class without satisfying this requirement, hoping to be able to catch up
along the way, and they almost always end up regretting it.)
● You should also be comfortable, or even excited about, learning new technologies and
working with software tools.
● You should have enough flexibility to work with a team that meets (remotely) on a regular
basis. You and your teammates will be able to choose how and when to communicate.
If you don't satisfy one or more of these requirements, you should seriously consider
taking the course in a later semester and refresh your knowledge of the above topics in
the meanwhile. The most common reason why students struggle with this class is the
fact that they do not satisfy the above prerequisites, so please do not take them lightly.
I would also like to add something that may be a bit controversial but about which I feel fairly
strongly. The online MS programs offered by Georgia Tech are not professional education
programs. There are many such programs, but you applied to this one because you want to get
an actual MS in CS from Georgia Tech, not a professional education certificate. In this spirit, I
strive to offer a course that has the same quality as an on-campus one but is also just as
demanding. I understand that most of you have daily jobs and families, but so do many
on-campus students, and we do not treat them any differently. I hope this makes sense to you
and helps you understand some of the decisions we make, in particular with respect to
deadlines and extensions.

Course Materials
The only materials required are the online lessons and a few additional readings that will be
provided in due time. In particular, no specific textbook is required. Ideally, you should have
access to a software engineering introductory book and/or online resources.
You can find a set of unofficial notes for the class at this link. Many thanks to Shipra De, one of
the students who took the class in Fall 2014, for creating them!
Important disclaimer: These notes were created by a student without any help or input from
us, so we do not officially endorse them and just provide them as is, hoping that you find them
useful. Feel free to let me know how you like them and whether you have any comments or
feedback, which I will be happy to relay to Shipra. I will also use your feedback to decide
whether to make the notes available for future offerings of the course.
Platforms Used in the Course
You will have to use and be familiar with four platforms when taking this class: (1) Canvas, (2)
Ed Discussion, (3) Ed Lessons, and (4) Zoom. I discuss these platforms below.

Canvas
Canvas is your main stop, where you will (1) get and submit all of your assignments (mostly
through an external link to Gradescope) and project deliverables and (2) access your grades.
● Assignment deadlines: You can access all assignments by selecting the “Assignments”
tab on Canvas. When in doubt about the deadline for an assignment, you can always
check Canvas, as all assignments are listed there. To avoid problems, you should make
sure to configure Canvas so that all deadlines reflect your local timezone. To do so, you
should go to Canvas ➡ Account ➡ Settings ➡ Edit Settings and Time Zone and select
your local time zone. Also, please note that the deadline for assignments is the “Due”
date, whereas the “Until” date indicates the late submission deadline (see the
Late-Submission Policy section below).

Ed Discussion
Ed Discussion is our online forum, which you will use to communicate with us (and vice versa).
● Accessing Ed Discussion: To access the forum, click the Ed Discussion link on the
Canvas page for this class (on the menu on the left). We will add registered students to
Ed Discussion before the class starts. If you have registered for (or been added to)
the class after classes started, you may get a message that an access code is
required when using the Ed Discussion link until newly registered students are added to
the Ed Discussion roster, which happens daily. In this case, please do not contact the
instructors to ask for the code and instead allow a day for that process after you have
been added to Canvas (and watch your official email for notice that you have been
added).
● Class-related communications: Make sure to use Ed Discussion, rather than email
or Canvas messages, for ALL class-related communications. We can miss email
messages, but we are careful about checking messages on Ed Discussion and making
sure that your questions are answered in a timely fashion. Most importantly, by asking
questions on Ed Discussion, you can benefit from the collective knowledge of your
classmates, instructors, and TAs. For this reason, I encourage you to ask questions
publicly, rather than privately to the instructors, as that maximizes your chances to get a
prompt reply and, most importantly, allows your classmates to see questions, answers,
and discussions that can benefit them. In fact, sometimes we wait before responding to
posts because we want to encourage student responses and discussions. It is just as
important that you also check Ed Discussion postings regularly.
● Keeping up with Ed Discussion: Besides benefitting from questions, answers, and
discussions, as mentioned above, Ed Discussion is where we post announcements
and other useful information about the class, and we assume that you read these
announcements. Finally, posts are clearly appreciated, but please don't feel like you
have to post at all costs. You can get 100% Ed Discussion participation by simply
following the discussions on Ed Discussion. (Ed Discussion keeps track of each
student's online presence.) In other words, just make sure that you check updated,
unresolved, and unread posts on a regular basis, and you will be fine even if you do not
post yourself.1 This also helps to avoid duplicate postings, in which students ask
questions that have already been asked (and often answered).
● Duplicate posts: Please make sure to check the existing posts before asking a
question: duplicated posts waste both our and your time. For similar reasons, you
should also make sure to read the assignments and the syllabus carefully before
posting questions about them on Ed Discussion. Finally, many of the questions we
receive on Ed Discussion can be answered with a simple web search, so please make
sure to try that before posting on Ed Discussion, which frees up resources for more
interesting questions, answers, and discussions.
● Our response time on Ed Discussion: We do our best to respond to Ed Discussion
messages daily, or at most every couple of days (depending on volume and other
factors). If you don’t get an answer to a post within 48 hours, feel free to post a follow-up,
but please avoid doing so a few hours after posting (i.e., we do our best to be responsive
on Ed Discussion, but the forum is not a 24/7 hotline :-). Please also avoid reposting the
same message twice to get more attention; you should add a follow-up to your existing
post instead. Related to the previous point, I try to answer most of the posts that are not
grading challenges myself, but that creates issues during particularly busy
weeks/semesters. (Just to give you an idea, I sometimes spend about an hour every day
on Ed Discussion.) In the last few semesters, I may therefore delegate some of the
day-to-day Ed Discussion interactions to the TA team. However, I am actively following
Ed Discussion and am happy to answer questions directly addressed to me, which I also
do during the weekly office hours. Feel also free to reach out to me with direct Ed
Discussion messages if you have complaints about some specific interactions. If you do
so, please point me to specific posts involved, as that allows me to get context and
suitably discuss the issue with the TA team.
● Declines on Ed Discussion: In line with what we mentioned above, we may decline
(i.e., disregard) on Ed Discussion questions that are clearly answered in the syllabus or
in the assignment description.

Ed Lessons
Ed Lessons is the place where you will watch the class videos.
● Accessing Ed Lessons: To access the lessons, click the Ed Lessons link on the
Canvas page for this class (on the menu on the left).
● Getting started: Make sure to check the “Let’s Get Started” page in the “Welcome to
CS6300: Software Development Processes!” Module in Ed Lessons for information on
navigating the different Ed Lesson features and settings.

1
Although Ed Discussion allows students to receive posts by email, we discourage it because it prevents
us from assessing Ed Discussion attendance directly.
● Online lectures: Although you may still be able to watch the lectures on other platforms
or through "public access" courses on Ed Lessons, you are required to watch the
official course content on the designated Ed Lessons platform for this class, so
that we can track your “attendance” and ensure you are using the correct materials.
Watching lectures on any platform other than the official course on Ed Lessons,
including "public access" versions, will reduce your participation grade (see
“Lesson completion” and “Grading” below). We also require that you watch the lesson
following the provided schedule as much as possible. Although we allow for some
flexibility, as we understand that there may be exceptional weeks, going through a
large number of lessons on weeks other than those in which the lessons are
scheduled will also affect your participation grade. In particular, avoid watching a
large number of lessons during the last couple of weeks of the semester, which will not
help you. There is a reason why we schedule the lessons as we do.
● Lessons Completion: Lecture lessons completion is a significant contributor to your
participation grade. To complete a lesson, you must watch each topic online and take
each quiz (with unlimited re-takes) to score 100%.

Zoom
We use Zoom for the course office hours, which we will hold weekly, typically on Wednesday or
Thursday. You will be able to attend the office hours synchronously or asynchronously (i.e., after
the fact). The office hours will consist of two parts: announcements and Q&A. You will be able to
post your questions beforehand on Ed Discussion. We strongly recommend you to watch (and
even better, participate in) the weekly office hours, as not watching them will likely result in you
missing important information about the course, hints about the assignments, and so on. The
day, time, and link for the office hours will be announced on Ed Discussion, but please note that
there will be no office hours during the first week of classes.

Tools Used in the Course


We will use several tools in this class, including:
● Git
● Java Development Kit (version details provided in assignment instruction)
(freely available from either Oracle or Open JDK)
● IntelliJ IDEA Ultimate Edition
(free for students: https://www.jetbrains.com/shop/eform/students)
● Android Studio
● A UML editor (of your choice)

Minimum Technical Requirements


● High-speed Internet connection
● Laptop or desktop computer with a minimum of a 2 GHz processor and 2 GB of RAM
● Windows, Mac OS X, or Linux operating systems
● Mozilla Firefox, Chrome, and/or Safari browsers

Grading, Assignments, and Projects

Assignments and Projects


To successfully complete the class, you will have to do a set of individual assignments, a group
project, and an individual project. We will provide complete information about assignments and
projects on Canvas and Ed Discussion in due time. For each assignment, be sure to read and
understand the complete instructions before you begin work. You are welcome and encouraged
to form study groups yourselves, but project teams will be assigned by us based on the
information you provide in the team matching survey, which allows us to create teams
that are as much as possible balanced in terms of expertise and compatible in terms of
schedule. Please do NOT ask us to form teams yourself or provide us with the names of
other students that you would like to have on your team. Please also note that your
performance in the group project, which we will assess through a peer evaluation performed by
all team members, will determine your collaboration grade.

Release Dates
We typically release most assignments slightly over one week before they are due. Please do
NOT ask us to post assignments in advance, as we feel strongly about this, and it has been
our experience that this approach works way better than releasing assignments early and
having multiple assignments open at the same time. In particular, (1) there are dependencies
between some of the assignments that prevent us from having overlaps, and (2) the interaction
on Ed Discussion works considerably better if students are in sync.
Please also note that we cannot post assignments in advance for individual students. For
a class that has hundreds of students, doing so would be a logistical nightmare and would likely
be error-prone. Consider that we typically receive multiple requests, for different dates, and
please imagine what it means to set up different release dates (and possibly keep track of the
different deadlines) for different students.
I can assure you that we scope assignments so that they are very doable in a week's worth of
work for a 3-credit-hour class, which should be about 10 hours. Some students may need a bit
more time than that, and some students a bit less, but we solve all assignments ourselves
before releasing them to make sure that we did not grossly underestimate their level of difficulty
and the time required to complete them.

Due Dates
Most of the deadlines for assignments and deliverables are on Sunday at 11:59 PM AOE. (As
stated above, we recommend that you go to Canvas ➡ Account ➡ Settings ➡ Edit Settings
and Time Zone and select your local time zone, to see all deadlines in your own time zone.)
Submission Instructions
We use Georgia Tech’s GitHub for all submissions, and you should upload your work only to the
two GitHub repositories we will provide for you: one for your individual work, and one for your
teamwork. Posting your code on a different repository will prevent us from accessing and
grading your work. Posting your work in any public repository, either during the course of the
class or afterward, is a violation of the Honor Code and facilitates future students’ cheating. We
take this very seriously. Specific submission instructions will be included with the project and
assignment descriptions on Canvas. Typically, this will include pushing all required files to the
assigned repository and submitting a single, final commit ID to a submission server, either
Canvas or Gradescope, as specified in the assignment instructions. All assignments must be
submitted and acknowledged by the server (e.g., Gradescope, Canvas) by the due date and
time listed in Canvas. Please note that for determination of on-time submission status, local
timestamps (e.g., `git log`) will not substitute for server timestamps. Also, be sure that you
have received a positive acknowledgement of your submission from the submission server.
Every semester, we have cases of students receiving a zero on a Gradescope assignment
because they fail to note a Gradescope response rejecting their submission. Please don’t be
one of those students.

Late-Submission Policy
Students get 50% of the grade for an assignment if they turn it in within two days after the
regular deadline. Please note that a resubmission of an assignment that occurs after the regular
deadline will be counted as late even if you have an earlier submission (for obvious reasons).
After the late submission deadline has passed, you won't be able to submit your assignment
and will get 0 points for it. To be fair to all students, we have a strict policy about
extensions. In very large classes, rare circumstances are not that rare, and in fact, we receive
several valid requests for extensions for each assignment.
If extreme and unforeseen circumstances are preventing you from completing an assignment
on time, please take the steps below before the assignment due date and as soon as possible:
1. Contact the office of the Dean of Students (DoS) and provide them with all the necessary
details and documentation, by visiting the following link:
https://studentlife.gatech.edu/request-assistance (choosing Class Absence Verification)
In addition to being equipped to address emergencies that we lack the resources to
handle, the DoS office can coordinate with you and alert all your classes at once.
2. Contact us via Ed Discussion and confirm that you have provided the required
documentation to the office of the Dean of Students. In the same Ed post, please clarify
how many more days you expect to need to complete the assignment.
The office of the Dean of Students should check your documentation and follow up with me. If
they only send the follow up to you, please forward it to me at [email protected] as soon as
possible. At that point, I will be able to take the appropriate action and follow up with you. The
Dean of Students is there to be an advocate and partner for you when you’re in a crisis; we
wholeheartedly recommend taking advantage of this resource if you are in need.
Notes:
● Just to avoid misunderstandings, please note that going on vacation or getting
married can hardly be considered extreme and unforeseen circumstances :-).
● We require a 24-hour notice for non-emergency medical deadline extensions. In general,
waiting until a deadline is a few hours away or (even worse) has passed to report a
situation of which you were aware long before is problematic, for obvious
reasons, and will cause your request to be declined.

Grading Timing
We normally return grades for an assignment within two weeks after it closes. Due to the size of
the class, however, and to the number of consistency checks we perform to ensure
homogeneous grading, some assignments may require a slightly longer time to be graded.

Grade Challenges
If you think we made a mistake in grading one of your assignments or projects, you have two
weeks after a given grade has been released to contest it. After that, we will consider the grade
final. Grade challenges must be submitted on Ed Discussion by sending a private question in
the category “Grade challenges”. The message must provide (1) your GT username (e.g.,
jdoe44) (and your Team number, in case the grade is for a group project) and (2) a clear
statement of what part of the grade is being disputed and why (i.e., a grade challenge is not a
blank request for regrading). Unless you have a specific reason to do so, please avoid sending
private messages to individual TAs or me, as that may cause the messages to be missed and
responses delayed. Grade challenges will lead to a review of the entire assignment and may
result in a higher, identical, or lower grade. If after contacting your TA and the instructor you do
not feel your problem has been resolved, you may escalate the issue by emailing
[email protected] and asking that your ticket be assigned to Jay Summet.

Grading
See the table below for how much each graded item counts toward the overall grade for the course.
Note that we may change these percentages slightly during the course of the semester.

Item Description % Overall Course Grade


Assignments (see Canvas for details) 44%
Group Project (team-based) 18%
Individual Project 25%
Collaboration 10%
Participation 3%

Your Collaboration grade is a reflection of your group project contribution. It consists of a


combination of timely submissions or your own collaboration-related assignments (GPD0,
reviews, and weekly reports) and your teammates evaluation of your contributions to the
application design and overall project execution.
Your Participation grade consists of three components: Ed Discussion, Ed Lessons, and the
Participation quiz.
Canvas may list some assignments as contributing 0 points toward your final grade, but that is
only because the assignment is a component of another grade. For example, there are multiple
deliverable assignments that constitute the Individual Project. You must complete and submit
each of these deliverables on time. We will evaluate them separately and combine their scores
into your overall Individual Project grade. In short, all class assignments contribute either
directly or indirectly to your final grade.
Your final grade will be assigned as a letter grade according to the following scale, indicatively,
and possibly with some upward curving:

A [90–100]
B [80–90)
C [70–80)
D [60–70)
F [0–60)

Extra Credit Opportunities


There are no extra credit opportunities for this class.

Accommodations for Students with Disabilities


If you are a student with learning needs that require special accommodation, contact the Office
of Disability Services at (404) 894-2563 or http://disabilityservices.gatech.edu, as soon as
possible, and make an appointment to discuss your special needs and obtain an
accommodation letter. Please also send an email to me as soon as possible in order to discuss
your learning needs.

Class Policies
Academic Honesty
All Georgia Tech students are expected to know and abide by the Georgia Tech Academic
Honor Code (https://osi.gatech.edu/students/honor-code). In this class, in particular, although
we generally encourage the discussion of the course material, the exercises, assignments, and
projects with your classmates, we draw a firm line regarding what sharing and copying are
permissible in your coursework. Specifically, you must adhere to the following rules:
● You may not, under any circumstances, copy any code from any current or former
student in the class, or from any public sources addressing the same content as the
course assignments/projects.
● The only source code you are permitted to borrow are isolated project-agnostic
snippets, meaning source code that serves a specific purpose and that are applicable
outside the context of our projects (such as iterating through an array). In these cases, you
must bracket the borrowed code with comments identifying the source exactly as follows:

/* BEGIN CODE FROM (source URL) */


… borrowed source code …
/* END CODE FROM (source URL) *

The source URL must link to a web page containing the borrowed source code snippet. We
will not accept lists of sources provided without context.
● Using tools based on machine learning generative models, such as ChatGPT or Github
Co-pilot, to generate solutions to assignments or parts thereof is also strictly prohibited.
● You may reuse your own work or code from past private endeavors, such as previous
course attempts or different class assignments. However, any reused code or work must
strictly conform to the policies of the current semester. Even if past work did not violate a
prior course's policies, if it violates this course's current policies (for instance, relating to
the use of tools like ChatGPT), it cannot be reused without proper adjustments.
Additionally, should any of your past work be publicly available, you must treat and cite it
in the same manner as any other public source, as specified above. Collaborative
works from the past, such as work done for a prior class group project, cannot be
reused in this course.
● There will often be watermark-type fields added to projects to date the project to a
particular term. If an assignment is turned in with a prior term’s watermark, we will
assume that cheating has occurred and the penalties for cheating will be enforced.
● Do not post publicly or share any content (solutions or parts thereof) with other
students in the class.
● When in doubt, don’t hesitate to ask: in this case, it is definitely NOT better to beg for
forgiveness than to ask for permission.
Please keep in mind that we use plagiarism-detection software to identify similarities among
submissions, between submissions and online materials (e.g., repositories of students from
previous semesters), and between submissions and materials generated by tools based on
machine learning generative models. Because we have access to the same resources to which
you have access, our plagiarism detector will most likely identify these cases (as it has done
countless times in the past).
Violations of this policy will be subject to the institute’s Academic Integrity procedures,
which may include a 0 grade on assignments found to contain violations, additional
grade penalties, academic probation or dismissal, and prohibition from withdrawing from
the class. The bottom line is that it is not fun for anybody when a case of academic misconduct
is discovered, so please avoid collaborating beyond what is allowed by the Georgia Tech
Academic Honor Code.
Important: If you are accused of academic misconduct, you are not permitted to withdraw from
the class until the accusation is resolved; if you are found to have participated in the
misconduct, you will not be allowed to withdraw for the duration of the semester. If you do so
anyway, you will be forcibly re-enrolled without any opportunity to make up work you may have
missed while illegally withdrawn.

Communication Policy
You are responsible for knowing the following information:

1. Information in this syllabus (including the pages linked herein).


2. Information emailed directly to you by the teaching team (including announcements via
Ed Discussion), 24 hours after receiving such an email. That is, you are expected to
check your GT email and Ed Discussion for important announcements at least once a
day.

Send questions and personal concerns, including grading questions, privately to “instructors” on
Ed Discussion. Do not submit posts of a personal nature or relating to your grades publicly on
Ed Discussion.
When posting messages on Ed Discussion, make sure to keep in mind the following
rules/guidelines:
● Avoid language that may come across as strong or offensive. Language can be easily
misinterpreted in written electronic communication. Review email and discussion board
posts BEFORE submitting. Humor and sarcasm may be easily misinterpreted by your
reader(s). Try to be as matter-of-fact and professional as possible.
● Follow the language rules of the Internet (e.g., do not write using all capital letters).
● Feel free to use emoticons, which can be helpful for conveying nonverbal feelings and
avoiding misunderstandings.
● Consider the privacy of others. Ask permission prior to giving out a classmate's email
address or other information.
● Do not post inappropriate material.
Note: The instructor reserves the right to remove posts that are not collegial in nature and/or do
not meet the rules/guidelines listed above.
See the section on “Ed Discussion” above for additional communication policies.

Student-Faculty Expectations Agreement


At Georgia Tech we believe that it is important to strive for an atmosphere of mutual respect,
acknowledgment, and responsibility between faculty members and the student body. See
http://www.catalog.gatech.edu/rules/21 for an articulation of some basic expectations that you
can have of me and that I have of you.
Closing Remarks
We modified the class based on our experience with its offerings so far and on the students'
feedback. Whereas we can easily change assignments, schedules, and information on the
syllabus, the video lectures require (much) more time to be edited. We did our best to update all
the parts that could be easily updated, but it is possible that some lectures may contain
outdated information about projects or assignments. Please make sure to always trust the
information on Ed Discussion and Canvas over the information in the video lectures. And when
in doubt, or if you spot any issue, please do not hesitate to ask and let us know. Also, please
only watch the lessons listed on the class schedule, as you do not need to watch lessons not
listed there (e.g., P1L5).

Schedule
You can see the detailed schedule for this semester at this link.

Subject to Change Statement


The syllabus may be subject to change. Changes will be communicated via Ed Discussion. It is
the responsibility of students to check the Ed Discussion class forum to stay current in their
online courses.

You might also like