CS 410P/510 Top: The Joy of Coding with Java and Android
4/3
David Whitlock and Mark Jones
Exploration of contemporary software development principles and practices with an emphasis on building practical and professional coding skills. Topics include code reuse, object orientation, navigating a rich API library, test-driven development, source code management, pair and group programming, code refactoring, distributed programming with REST, and small device application development with Android. The Java programming language is used, but experience with Java is not required.
CS 314 Elements of Software Engineering
Gain experience with practical, real-world aspects of software development and validation by working individually and with others to build and evolve software, culminating in an Android application.
Upon the successful completion of this class, students will be able to:
References on the web.
Develop a multi-phase project that evolves from a simple command line application, through a distributed REST client/server, to an Android app.
Beyond individual project work, students work in pairs and groups on simple “kata” exercises to explore programming concepts and gain practical experience working with others. In addition to quizzes and exams, students submit concise design documentation for their projects.
Topics related to social and ethical issues are not explicitly covered in the course. However, debriefs after pair/group programming activities often cover issues related to equal access, power dynamics, and effective communication.
Object oriented design, test design, and code design accounts for about 25% of the course’s content.
Between programming assignments and in-class coding activities, students analyze about one problem a week.
Building working software that is validated by automated tests is a primary component of this class.
CAC Category Credits | Core | Advanced |
Data Structures | 0.1 | |
Algorithms | 0.1 | |
Software Design | 1.2 | 2.0 |
Computer Architecture | ||
Programming Languages | 0.6 |