This course focuses on software development techniques in support of large-scale software projects and maintenance. Specific topics include various programming paradigms and techniques, approaches to testing and automation, debugging, refactoring, and inheriting code. Individual and team assignments are required, including programming assignments. Project topics include text processing, building a search engine, and the like. This is a communication-intensive course.
Spring | Summer | Fall | ||
---|---|---|---|---|
(Session 1) | (Session 2) | |||
2024 | ||||
2023 | ||||
2022 | ||||
2021 | ||||
2020 | ||||
2019 | ||||
2018 | ||||
2017 | ||||
2016 | ||||
2015 | ||||
2014 | ||||
2013 | ||||
2012 | ||||
2011 | ||||
2010 | ||||
2009 | ||||
2008 | ||||
2007 | ||||
2006 | ||||
2005 | ||||
2004 | ||||
2003 | ||||
2002 | ||||
2001 | ||||
2000 | ||||
1999 | ||||
1998 |