Development of applications using web, mobile, and emerging technologies with emphasis on requirements managements, interface design, usability, testing, deployment including ethical and legal considerations.

3 units, 5 hours (2 hours Lecture 3 hours Lab)
Prerequisite : CCC151

Learning Outcomes:

LO1. Develop specifications for a software development effort that precisely articulates the functional requirements, expected execution paths, and the explicit use of cutting edge and emerging technologies, which includes hardware devices and software library APIs.

LO2. Select and use a defined coding, documentation writing, and licensing standards in a sufficiently complex software project where coding idioms and mechanisms for implementing designs to achieve desired properties such as reliability, efficiency, and robustness are practiced with respect to legal and ethical considerations.

LO3. Undertake, as part of a team activity, an inspection of the source code and unit testing of the functional units of a sufficiently complex software project.

The expected learning outcome supports the following student outcomes:

1. Apply computing and other knowledge domains to address real-world problems (Graduate Outcome: IT01)

2. Understand best practices and standards and their applications. (Graduate Outcome: IT02)

3. Analyze complex problems, and identify and define the computing requirements appropriate to its solution. (IT103)

4. Identify and analyze user needs and take them into account in the selection, creation, evaluation and administration of computer-based systems. (Graduate Outcome: IT04)

5. Design, implement, and evaluate computer-based systems, processes, components, or programs to meet desired needs and requirements under various constraint (IT05). 6. Integrate IT solutions into the user environment effectively. (IT06)