CS 6300: Software Development Process (Software Engineering: Concepts and Practice)

Course Creator and Instructor

Alessandro Orso
Creator, Instructor


This course provides an in-depth study of the process of developing software systems, including the use of software processes in actual product development, techniques used to ensure quality of the software products and maintenance tasks performed as software evolves. 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 become familiar with a variety of modern technologies and development techniques and understand their connection to software processes.

For more info and to view a course syllabus, please visit the Udacity Course Page.


Students should be familiar with at least one programming language (Java strongly preferred) and with basic software engineering concepts. Students are also expected to have taken an undergraduate software engineering course or have some experience in industry.

If you answer "no" to any of the following questions, it may be beneficial to refresh your knowledge of this material prior to taking CS 6300:

  1. Have you taken a software engineering course before or have you had some experience working as a software engineer in a company?
  2. Are you familiar with basic software engineering concepts, such as requirements, software design, and software testing?
  3. Are you familiar with the Java language? (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.)
  4. Are you comfortable, or even excited about, learning new technologies and working with software tools?
  5. Do you have enough flexibility to work with a team that meets (remotely) on a regular basis?

To gain an understanding of a typical CS 6300 project, please read the description of our Mobile Android App for Managing TODO Lists assignment.

Course Preview


Lesson Preview


There are three types of grades:

  • Projects – You will be given several projects, to be completed in groups.
    • Collaboration - You will receive a grade based on how much you contributed to group projects, according to the assessment of your teammates.
  • Assignments – You will be given a set of assignments.
  • Udacity quizzes - In addition to the projects and assignments, you are required to complete all Udacity quizzes. Please note that you are not required to get the correct answer on these quizzes on the first try. We will look only at your last submission.

Participation - Students are expected to participate in the online forum and in the office hours; that is, they are expected to read postings, watch the office hours videos, and (possibly) contribute to the discussion.

You will receive all assignments and projects through T-Square, and each entry will show a due date. Please be sure to complete all assignments and projects by their due date. You will also receive grades and information on how much each graded item counts toward the overall grade for the course through T-Square.

We will be using Piazza as a forum for this site and Hangout on Air for the weekly online office hours. Please submit all of your course-related questions through Piazza. Let us also stress that you should make sure to read all Piazza postings and watch the office hours videos, or you may miss important information about the course.

Required Course Readings

There are no required readings. When appropriate, additional class materials will be available as instructor notes that are associated with the video lectures.

Minimum Technical Requirements

  • Browser and connection speed: An up-to-date version of Chrome or Firefox is strongly recommended. We also support Internet Explorer 9 and the desktop versions of Internet Explorer 10 and above (not the metro versions). 2+ Mbps recommended; at minimum 0.768 Mbps download speed
  • Operating system: - PC: Windows XP or higher with latest updates installed - Mac: OS X 10.6 or higher with latest updates installed - Linux: Any recent distribution that has the supported browsers installed
  • Ability to install additional (free) software, such as the Eclipse Integrated Development Environment, on the machine used for the course.

Other Info

Additional Course Information

Additional information about the course, including office hours, late-assignment policy, and team work, will be posted by the instructor on Piazza on or before the first day of class.

Academic Honesty

All Georgia Tech students are expected to uphold the Georgia Tech Academic Honor Code.