CS373: Software Engineering

Summer 2015: 88661

This is a course on software engineering using Python, Javascript, and Java. It will include the creation of a website with a database backend using the following tools: Apiary, RESTful APIs, AngularJS or React, SQLAlchemy, Flask or Django, MySQL or PostgreSQL, and Rackspace. It is also strongly focused on using tools to improve the quality of software development, including source control with git and GitHub, unit testing with Mocha and UnitTest, coverage with Istanbul and Coverage, continuos integration with Travis CI, and documentation with JSDoc and PyDoc.

Estimates of the required effort to do well are:

  • 3 hours per week of studying
  • 21 hours per week of programming
  • 7,000 lines of code


Unique Days Time Place
88661 MWF 1-2:45pm CLA 0.112


Type Name Days Time Place
Lecturer Glenn Downing
GDC 6.308
TA Edward Banner
Th 2-3pm GDC 3.302
Proctor Aseal Yousuf
T 4-5pm GDC 3.302


Type Service
Attendance / Quizzes Top Hat
Student Orientation
1-year subscription for $36.
Books Database Design with UML and SQL
Extreme Programming Installed
JavaScript: The Good Parts
Discussions Piazza
Examples / Exercises JavaScript
Grades Canvas
Type Service
Code Coverage JavaScript: Istanbul
Python: Coverage
Continuous Integration Travis CI
Documentation Generator JavaScript: JSDoc
Python: PyDoc
Issue Tracking GitHub
Portfolios GitHub Pages
Project Hosting GitHub
Source Control Git
Unit Testing JavaScript: Mocha
Python: UnitTest
Weekly Blog GitHub Pages


The following coursework with a grade of at least C- in each: Computer Science 311, 311H, 313H, or 313K; Computer Science 307, 314, 314H, 315, or 315H; Computer Science 310, 310H, 429, or 429H; and Mathematics 408C, 408K, or 408N.

Writing Flag

This course carries the Writing Flag. Writing Flag courses are designed to give students experience with writing in an academic discipline. In this class, you can expect to write regularly during the semester, complete substantial writing projects, and receive feedback from your instructor to help you improve your writing. You will also have the opportunity to revise one or more assignments, and you may be asked to read and discuss your peers' work. You should therefore expect a substantial portion of your grade to come from your written work. Writing Flag classes meet the Core Communications objectives of Critical Thinking, Communication, Teamwork, and Personal Responsibility, established by the Texas Higher Education Coordinating Board.

Special Needs

Any student with a documented disability who requires academic accommodations should contact Services for Students with Disabilities at 471-6259 (voice) or 1-866-329-3986 (Video Phone) as soon as possible to request an official letter outlining authorized accommodations.

You must provide this letter to me by the 4th class day. Project deadlines will not be extended for special-needs students.


To be eligible for an incomplete you must have a letter grade of C or better and a written, verifiable excuse for missing the last test. This is a necessary but insufficient condition for receiving an incomplete.

Academic Integrity

Students who violate University rules on academic dishonesty are subject to disciplinary penalties, including the possibility of failure in the course and/or dismissal from the University. Since such dishonesty harms the individual, all students, and the integrity of the University, policies on academic dishonesty will be strictly enforced. For further information please visit the Student Judicial Services Web site: Student Judicial Services.

Programming assignments will be compared using Moss. You may share design ideas with your fellow students. You may not share code in any way with your fellow students.

The penalty for academic dishonesty will be a course grade of F and a referral of the case to the Dean of Students. Further penalties, including suspension or expulsion from the university may be imposed by that office.