Learning Outcomes

1. Understand course structure

You understand the goals, structures, and procedures for learning in ICS 314.

Referencing modules: Introduction

Assessed by: Discussion group posting

2. Install an appropriate development environment

You have set up your environment on your computer to support the software engineering experiences you will have in this course.

Referencing modules: Introduction

Assessed by: Environment configuration

3. Understand the concepts of a professional persona

You understand what a professional persona is, why it is important, and what you need to do to create an effective one.

Referencing modules: Professional Persona

Assessed by: Professional portfolios

4. Create a professional portfolio

You have designed and implemented a website providing a portfolio of your professional accomplishments and writings.

Referencing modules: Professional Persona

Assessed by: Professional portfolios, Final Exam

5. Create high quality technical writing

You demonstrate the ability to write professional-quality technical essays or to have significantly improved your skill at this task since your last essay.

Referencing modules: Professional Persona, Java coding, Web Application Frameworks, Cloud-based Hosting, Dynamic web applications, Dynamic web applications, Part II, Final Exam

Assessed by: Professional networks, Java, Eclipse, and writing capability, Java Coding Technical Essay, UI Basics Technical Essay, UI Frameworks Technical Essay, Web Application Frameworks Technical Essay, Cloud-based Hosting Technical Essay, Dynamic Web Applications Technical Essay, Dynamic Web Applications Part II Technical Essay, Cloud-based Deployment Technical Essay, Authentication and Authorization Technical Essay, Model Design Technical Essay, Model Implementation Technical Essay, Testing Technical Essay, Final Exam

6. Develop professional networks

You have demonstrated the capability to join two professional networks (LinkedIn, TechHui) and set up appropriate profiles.

Referencing modules: Professional Persona

Assessed by: Professional networks

7. Understand the benefits of IDEs

You understand the benefits of an IDE and why it is cost-effective despite the learning curve.

Referencing modules: Integrated development environments

8. Acquire capability with the Eclipse IDE

You develop capability with the Eclipse IDE that enables you to develop software efficiently and effectively.

Referencing modules: Integrated development environments, Java coding, UI Basics, UI Frameworks, Web Application Frameworks, Cloud-based Hosting, Dynamic web applications, Dynamic web applications, Part II, Startup Weekend, Authentication and authorization, Final Exam

Assessed by: Java, Eclipse, and writing capability, Group WOD: Play Responsive Castle High, Individual WOD: MultiPageKamanu, Group WOD: Surferpedia Monday, Paired WOD: Surferpedia, Group WOD: Digits Address, Individual WOD: DigitsDelete, Group WOD: Digits Radio, Individual WOD: DigitsHidden, Group WOD: Surferpedia Updates, Individual WOD: Surferpedia Footstyle, Startup Weekend, Group WOD: Digits Registration, Individual WOD: Surferpedia Login, Group WOD: play-example-login MySQL, Group WOD: Testing, Final Exam

9. Understand the benefits of coding standards

You understand the benefits of coding standards and why they improve the quality and efficiency of software development.

Referencing modules: Coding standards, Java coding

Assessed by: Find the violations game

10. Recognize presence/absence of coding standards

You can recognize the presence (or absence) of best practices for Java coding standards in program files.

Referencing modules: Coding standards

Assessed by: Find the violations game

11. Create standards compliant Java code

You can implement Java code that complies with Java best practices for coding style.

Referencing modules: Java coding, Web Application Frameworks, Cloud-based Hosting, Dynamic web applications, Dynamic web applications, Part II, Final Exam

Assessed by: Individual WOD: DigitsDelete, Group WOD: Digits Radio, Individual WOD: DigitsHidden, Group WOD: Surferpedia Updates, Group WOD: Digits Registration, Individual WOD: Surferpedia Login, Group WOD: Testing, Final Exam

12. Write code efficiently

You can implement correctly functioning Java code in a short period of time.

Referencing modules: Java coding, Web Application Frameworks, Cloud-based Hosting, Dynamic web applications, Dynamic web applications, Part II, Startup Weekend, Authentication and authorization, Final Exam

Assessed by: Java Coding Technical Essay, Individual WOD: CharFrequency, Individual WOD: BrowserHistory4, Group WOD: Play Responsive Castle High, Individual WOD: MultiPageKamanu, Group WOD: Surferpedia Monday, Paired WOD: Surferpedia, Group WOD: Digits Address, Individual WOD: DigitsDelete, Group WOD: Digits Radio, Individual WOD: DigitsHidden, Group WOD: Surferpedia Updates, Individual WOD: Surferpedia Footstyle, Startup Weekend, Group WOD: Digits Registration, Individual WOD: Surferpedia Login, Group WOD: play-example-login MySQL, Group WOD: Testing, Final Exam

13. Design using HTML and CSS

You can use HTML and CSS to design basic web pages, and you can use tools (Eclipse, Chrome Developer Tools, LiveReload) to do this development efficiently.

Referencing modules: UI Basics, UI Frameworks, Web Application Frameworks, Cloud-based Hosting, Dynamic web applications, Dynamic web applications, Part II, Startup Weekend, Authentication and authorization, Final Exam

Assessed by: Group WOD: History of Surfing, Individual WOD: BrowserHistory4, Group WOD: Color Blocked Web Page, Startup Weekend

14. Design using Twitter Bootstrap

You can use Twitter Bootstrap 3 along with HTML and CSS to design modern, responsive, and attractive web pages.

Referencing modules: UI Frameworks, Web Application Frameworks, Cloud-based Hosting, Dynamic web applications, Dynamic web applications, Part II, Startup Weekend, Authentication and authorization, Final Exam

Assessed by: Group WOD: Color Blocked Web Page, Group WOD: Play Responsive Castle High, Individual WOD: MultiPageKamanu, Individual WOD: DigitsDelete, Group WOD: Surferpedia Updates, Individual WOD: Surferpedia Footstyle, Startup Weekend, Group WOD: Digits Registration, Final Exam

15. Understand benefits of web application frameworks

You understand the productivity and quality advantages of web application frameworks.

Referencing modules: Web Application Frameworks

16. Design using Play Framework

You can use the Play Framework to implement web applications.

Referencing modules: Web Application Frameworks, Cloud-based Hosting, Dynamic web applications, Dynamic web applications, Part II, Startup Weekend, Authentication and authorization, Final Exam, Final Exam

Assessed by: Group WOD: Play Responsive Castle High, Individual WOD: MultiPageKamanu, Paired WOD: Surferpedia, Group WOD: Digits Address, Individual WOD: DigitsDelete, Group WOD: Digits Radio, Individual WOD: DigitsHidden, Group WOD: Surferpedia Updates, Individual WOD: Surferpedia Footstyle, Startup Weekend, Group WOD: Digits Registration, Individual WOD: Surferpedia Login, Group WOD: play-example-login MySQL, Group WOD: Testing, Final Exam

17. Use cloud-based hosting effectively

You can use git for version control and configuration management, and GitHub as a shared repository for software development artifacts.

Referencing modules: Cloud-based Hosting, Dynamic web applications, Dynamic web applications, Part II, Startup Weekend, Authentication and authorization, Final Exam

Assessed by: Group WOD: Digits Radio, Individual WOD: DigitsHidden, Group WOD: Surferpedia Updates, Individual WOD: Surferpedia Footstyle, Startup Weekend, Group WOD: Digits Registration, Individual WOD: Surferpedia Login, Group WOD: play-example-login MySQL, Group WOD: Testing, Final Exam

18. Work effectively in a group

You can develop complex software efficiently and effectively as part of a team, using collaboration tools including GitHub and Google Hangouts.

Referencing modules: Cloud-based Hosting, Dynamic web applications, Startup Weekend, Final Exam

Assessed by: Group WOD: Surferpedia Monday, Paired WOD: Surferpedia, Group WOD: Digits Address, Group WOD: Digits Radio, Group WOD: Surferpedia Updates, Startup Weekend, Group WOD: Digits Registration, Group WOD: play-example-login MySQL, Group WOD: Testing, Final Exam

19. Use cloud-based deployment effectively

You can use the CloudBees service to host your web application in the cloud, and create a custom domain name for your application.

Referencing modules: Cloud-based Deployment, Startup Weekend, Authentication and authorization, Final Exam

Assessed by: Group WOD: Surferpedia Updates, Individual WOD: Surferpedia Footstyle, Startup Weekend, Group WOD: Testing, Final Exam

20. Design using entity-relationship modeling

You can use ER modeling techniques and the LucidChart tool to efficiently design and document information architectures.

Referencing modules: Model design, Final Exam

Assessed by: Group WOD: TextBookMania ER Design, Individual WOD: play-example-form, Final Exam

21. Use RDBMS effectively

You can use relational database management systems such as MySQL to effectively and efficiently implement persistance for your applications.

Referencing modules: Model implementation

Assessed by: Group WOD: play-example-login MySQL, Final Exam

22. Design and implement effective test suites

Learn to implement a set of tests that assure an acceptable level of quality for your software applications.

Referencing modules: Testing, Final Exam

Assessed by: Group WOD: Testing, Final Exam

23. Practice simple project planning techniques

Learn to collaborate more efficiently in a team by breaking a project into sequence of milestones, and each milestone into issues which are assigned to group members and tracked in GitHub.

Referencing modules: Final Exam

Assessed by: Final Exam

24. Write useful project documentation

Learn to write user and developer-level documentation.

Referencing modules: Final Exam

Assessed by: Final Exam