Intro to Style Guides (Activity)

(Difference between revisions)
Jump to: navigation, search
Line 6: Line 6:
 
|'''Overview''' || In this activity students will learn about why we need a style guide for team-based projects and compare style guides for a various projects.  Based on this experience, students will develop a style guide for their team.
 
|'''Overview''' || In this activity students will learn about why we need a style guide for team-based projects and compare style guides for a various projects.  Based on this experience, students will develop a style guide for their team.
 
|-  
 
|-  
|'''Prerequisite Knowledge''' || What topics and tools does the student need to know prior to beginning this activity?
+
|'''Prerequisite Knowledge''' || Knowledge of basic regular expressions is helpful to understand the checkstyle documentation.
 
|-
 
|-
 
|'''Learning Objectives''' || Upon completion of this activity, you will be able to:
 
|'''Learning Objectives''' || Upon completion of this activity, you will be able to:
Line 15: Line 15:
  
 
=== Background: ===
 
=== Background: ===
Is there background reading material?
 
  
Are there other activities the student should have done first?
+
Working by themselves on small projects
  
 
What is the rational for this activity?
 
What is the rational for this activity?

Revision as of 20:47, 27 May 2015

Title The Need for Style Guides
Overview In this activity students will learn about why we need a style guide for team-based projects and compare style guides for a various projects. Based on this experience, students will develop a style guide for their team.
Prerequisite Knowledge Knowledge of basic regular expressions is helpful to understand the checkstyle documentation.
Learning Objectives Upon completion of this activity, you will be able to:
  • Explain how a style guide contributes to a team project.
  • Develop a style guide for a project.

Background:

Working by themselves on small projects

What is the rational for this activity?

Include helpful hints to faculty here.

Directions:

Read this article:

FIXME POGIL-like questions in response to the reading?

(optional) Read article about style versus standards

Read about the Google Style Guide

Question about reaction to the guide - agree, disagree, don't care.

Checkstyle (http://checkstyle.sourceforge.net/) is one of a number of static analysis tools that provides a measure of the health of a codebase. Read the ~150 items checked, and

(optional) Install checkstyle for your favorite IDE:

(optional) Add checkstyle to your build (ant, maven, etc.)


Deliverables:

What will the student hand in?

Assessment:

How will the activity be graded?

How will learning will be measured?

Include sample assessment questions/rubrics.

Comments:

What should the instructor know before using this activity?

What are some likely difficulties that an instructor may encounter using this activity?

Additional Information:

Knowledge Area/Knowledge Unit What ACM Computing Curricula 2013 https://www.acm.org/education/CS2013-final-report.pdf knowledge area and units does this activity cover?
Topic What specific topics are addressed? The Computing Curriucula 2013 provides a list of topics - https://www.acm.org/education/CS2013-final-report.pdf
Level of Difficulty Is this activity easy, medium or challenging?
Estimated Time to Completion How long should it take for the student to complete the activity?
Materials/Environment What does the student need? Internet access, IRC client, Git Hub account, LINUX machine, etc.?
Author Who wrote this activity?
Source Is there another activity on which this activity is based? If so, please provide a link to the original resource.
License Under which license is this material made available? (http://creativecommons.org/licenses/)


Suggestions for the Open Source Project:

Suggestions for an open source community member who is working in conjunction with the instructor.



This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

CC license.png

Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox