This course covers basic software development methodologies and tools. Methodologies include the waterfall, iterative and agile approaches. Tools include integrated development environments (IDEs), unified modeling language (UML), and testing frameworks. Other topics include requirements analysis, object-oriented analysis, test-driven development, and design patterns. Students will work on a team software project.