10-152-391 Team Software Development


Syllabus

Team Software Development

Course Description

This course introduces the Agile software development methodology and applies it to managing a software development project. Learners will work in small teams, taking an application through its entire lifecycle including the phases of requirements gathering, analysis, design, development, testing, deployment and maintenance. Additional topics include an introduction to the following disciplines and related tools: project management, version control, issue tracking, unit/regression testing and automated build/deployment.


Instructor Information

Name Clay Hess
Email hess@ntc.edu
Skype hessntc
Phone 715-803-1731
Office Location NTC Wausau Campus, Room A113

Office Hours

Tuesday 12pm - 1pm
Wednesday 3pm - 5pm
Thursday 12pm - 1pm

Course Information

Course Number 10-152-391
Course Name Team Software Development
Start Date 8/27/2014
End Date 12/10/2014
Meeting Time(s) Thursday, 1:00 to 4:50 p.m.
Meeting Location NTC Wausau Campus, Room A122
Total Hours 72
Type of Instruction Lecture (2 credits, 36 hours); Lab (1 credit, 36 hours)
Mode of Delivery In Person

Pre/Corequisites

  • 10-152-311 Object-Oriented Programming 1

Textbooks

  • Head First Software Development; Dan Pilone & Russ Miles; O'Reilly (2008); ISBN 0596527357
  • Head First Object-Oriented Analysis & Design; Brett McLaughlin, Gary Pollice & David West; O'Reilly (2006); ISBN 0596008678 (Optional)
  • Agile Principles, Patterns, and Practices in C#; Robert C. Martin & Micah Martin; Prentice Hall (2006); 0131857258 (Optional)

Learner Supplies:


Date/Session Competencies/Learning Objectives PATs
Week 1

Target Competencies

  • Develop applications using the Agile software development methodology

Learning Objectives

  • Develop an understanding of the Agile software development process
  • Develop an understanding of the software development leadership process
  • 1.1 Lab
  • 1.2 Lab
  • 1.1 Discussion Board
  • 1.2 Discussion Board
Week 2

Target Competencies

  • Develop applications collaboratively using a version control system

Learning Objectives

  • Describe the intent of version control software
  • Discuss the importance of using version control software to control the assets of a software development project
  • Use version control software to manage the assets of a software development project
  • Use version control software to share assets with other team members
  • 2.1 Lab
  • 2.2 Lab
  • 2.3 Lab
  • 2.1 Discussion Board
  • 2.2 Discussion Board
Week 3
  • 2.4 Lab
  • 2.5 Lab
Week 4

Target Competencies

  • Develop applications using the Agile software development methodology
  • Manage software defects and change requests using project tracking software

Learning Objectives

  • Cooperatively develop an application over several iterations
  • Meet deadlines by adhering to project timeline and scope
  • Participate in team status meetings
  • Cooperatively report project status to project stakeholders
  • Recommend adjustments to project timeline and scope based upon new discoveries
  • Describe how project tracking software is used
  • Discuss a software developer's role in using project tracking software
  • Use project tracking software to manage daily tasks
  • 3.1 Lab
  • 3.1 Discussion Board
Week 5
  • 3.2 User Tasks Assignment
  • 3.2 Lab
  • 3.2 Discussion Board
Week 6
  • 3.3 Lab
  • 3.4 Lab
  • 3.3 Discussion Board
  • 3.4 Discussion Board
Week 7

Target Competencies

  • Develop applications using the Agile software development methodology
  • Apply continuous improvement principles to iteratively improve software

Learning Objectives

  • Cooperatively develop an application over several iterations
  • Meet deadlines by adhering to project timeline and scope
  • Participate in team status meetings
  • Cooperatively report project status to project stakeholders
  • Recommend adjustments to project timeline and scope based upon new discoveries
  • Relate the statement, "Done is better than perfect" to software design and development
  • Describe code refactoring and how it can be used to improve the quality of software over time
  • Improve the design of software over time using refactoring and object-oriented design principles
  • 4.1 Lab
  • 4.1 Discussion Board
  • 4.2 Discussion Board
Week 8

Target Competencies

  • Develop applications using the Agile software development methodology
  • Identify, prioritize, and fix bugs using iterative development
  • Develop applications using test-driven development

Learning Objectives

  • Cooperatively develop an application over several iterations
  • Meet deadlines by adhering to project timeline and scope
  • Participate in team status meetings
  • Cooperatively report project status to project stakeholders
  • Recommend adjustments to project timeline and scope based upon new discoveries
  • Define unit testing
  • Define regression testing
  • Define integration testing
  • Discuss the importance of using automated testing software
  • Create unit tests
  • Identify bugs through thorough unit testing
  • Fix bugs and improve software over multiple iterations
  • Debate the advantages and disadvantages of test-driven development
  • Discuss test-driven vs. tester-driven development
  • Write tests that initially fail
  • Modify code as needed to satisfy tests
  • Run tests until they succeed
  • Confirm that tests still succeed after making code changes
  • 5.1 Assignment
  • 5.1 Discussion Board
  • 5.2 Assignment
  • 5.2 Discussion Board
  • 5.3 Assignment
Week 9
  • 5.4 Assignment
Week 10

Target Competencies

  • Develop applications using the Agile software development methodology

Learning Objectives

  • Cooperatively develop an application over several iterations
  • Meet deadlines by adhering to project timeline and scope
  • Participate in team status meetings
  • Cooperatively report project status to project stakeholders
  • Recommend adjustments to project timeline and scope based upon new discoveries
  • 6.1 Lab
  • 6.2 Lab
  • 6.3 Lab
  • 6.4 Lab
  • 6.5 Lab
  • 6.6 Lab
  • 6.1 Discussion Board
  • 6.2 Discussion Board
Week 11

Target Competencies

  • Develop applications using the Agile software development methodology

Learning Objectives

  • Cooperatively develop an application over several iterations
  • Meet deadlines by adhering to project timeline and scope
  • Participate in team status meetings
  • Cooperatively report project status to project stakeholders
  • Recommend adjustments to project timeline and scope based upon new discoveries
  • 7.1 Assignment
  • 7.1 Discussion Board
  • 7.2 Discussion Board

Competencies

  • Develop applications using the Agile software development methodology
  • Develop applications collaboratively using a version control system
  • Manage software defects and change requests using project tracking software
  • Identify, prioritize, and fix bugs using iterative development
  • Develop applications using test-driven development
  • Apply continuous improvement principles to iteratively improve software

Core Abilities

  • Communicate effectively
  • Work cooperatively
  • >
  • Act responsibly
  • Demonstrate integrity
  • Think critically and creatively
  • Work productively

Core Abilities are broad outcomes or skills that every graduate of an NTC program is expected to achieve. These skills go beyond the context of a specific course or program and are the skills employers tell us they expect employees to have. For you to meet these demands, NTC has identified seven Core Abilities that are important to every area of learning. These Core Abilities are: Communicate Effectively, Act Responsibly, Work Productively, Work Cooperatively, Demonstrate Integrity, Think Critically and Creatively and Develop Global Awareness.

Course Grading Information

Letter Grade Requirements
A >= 92% and meet all course compentencies
A- >= 90% and meet all course compentencies
B+ >= 87% and meet all course compentencies
B >= 83% and meet all course compentencies
B- >= 80% and meet all course compentencies
C+ >= 77% and meet all course compentencies
C >= 70% and meet all course compentencies
D >= 60% and meet all course compentencies

Assessment Information

Final course grades can be viewed by going to www.ntc.edu, clicking on "my>NTC" and following the instructions listed. For more information on grading and academic procedures please review the NTC Policies and Guidelines on this syllabus.

This course is a performance-based course, designed for your success. Learning plans will be studied over the course of the semester. Each learning plan will have assessment activities or tasks, called PATs, which will evaluate your performance of the course competencies. Your grade will be based on you being able to demonstrate all course competencies.

In this course your performance will be assessed in the following methods:

Assessment Type Required to Pass*
Assignments/Labs 90%
Projects 90%
Discussion Boards 90%

* Note: Even if your raw score would otherwise yield a grade of "C" or better, you must complete the listed percentages of assessment activities in each category to receive a passing grade in this course.


NTC Information Technology Program Goals and Expectations

The IT programs at NTC are designed to supply IT professionals to Northcentral Wisconsin businesses and are guided by local employers to ensure relevance.

IT courses in your chosen program will both give a general overview of the IT industry and a deeper coverage of your program area, to provide foundational knowledge upon which to build an IT career. General education courses enhance the program by developing essential “soft skills” which will improve employability.

Employability and Success in the IT Field

If enrolling in an IT program, you should consider the requirements and expectations required to be successful in the industry. You will be challenged to meet academic and technical standards throughout your program, and are expected to dedicate the time, effort, and resources required to be successful in your learning.

While not all of the following personality traits are essential, you will have a greater chance of a rewarding IT career if you:

  • Have an interest in computers and current technology
  • Want to creatively use your technical skills
  • Enjoy troubleshooting and solving technical problems
  • Have an attention to detail
  • Are driven to pursue continuous learning
  • Possess good communication skills
  • Are comfortable working in a team environment
  • Can follow instructions and procedures
  • Are reliable and can meet deadlines

The Commitment I Require from You

Attendance

This is a face-to-face course, and attendance is required – either from one of the NTC campuses, or a remote location via Adobe Connect. Please notify me in advance of any absence or anticipated late arrival. Lectures are recorded using Camtasia Relay. If you need to miss a class, you will be expected to watch the lecture and complete all related lab activities before the next class period.

If you are absent for any sessions during the first two weeks of class without advance communication to me, you will be given a grade of “F”. If you have unexcused absences for 25% of the overall course (four weeks) or more, you will receive a grade of “F” unless you withdraw from the course before it is 80% complete. Please refer to the NTC Student Guidelines and Procedures below for information on how to withdraw from the course.

Late Work

A critical component of success in the IT is the ability to meet deadlines. Therefore, we will model this component in this course. Missing/late work will incur the following penalties:

  • Failure to submit all required work on time during the first two weeks of the course will result in your removal from the course with a grade of “NS” no-show.
  • 50% will be deducted if work is submitted up to two weeks late, due to the fact that nearly all assignments are reviewed in hour one of the class period on the day after each assignment is due.
  • Work submitted more than two weeks late will not receive any credit.
  • Late work during the last two weeks of class will not receive any credit.
  • No late quizzes will be accepted.
  • No late tests will be accepted except in extreme circumstances or having made prior arrangements.
  • Tests which do not initially receive a passing grade must be retaken until a passing grade is achieved. Retake scores are multiplied by 0.7, yielding a maximum score of 70%.

Dedication

It is expected that you have both the willingness and the time available to study and complete required assignments. Completing IT courses requires dedication and committment. Be prepared to spend at least 2-3 hours per credit, per week – in addition to class time – on learning and assessment activities for this course.

Quality

Being successful in IT requires great deal of attention to detail and care in completing tasks. Points may be taken off of assignment grades for sloppy/careless work.

Professionalism

It is the goal of this class to emulate – as far as possible – a workplace environment and one that is conducive to learning and teamwork. It is my expectation that you will comport yourself in a professional and respectful manner, both toward me and your fellow students.

Any obscene language, rudeness, talking over me or other students, computer/mobile phone use other than that relating to the material being covered, etc. will not be accepted in the classroom. Repeat violations of this policy may negatively impact your final course grade by up to one grade letter e.g. A to B; B+ to C+, etc.


My Commitment to You

It is my goal to be responsive and supportive to aid you in your learning. Throughout the course, I will attempt to clearly define my expectations of you, respond in a timely manner with all communications (generally within 24 hours) and grade assignments turned in on time within one week of their due date.

Attendance and Participation

Consistent attendance and participation in this course is essential for your success. Demonstrating these behaviors will help you meet NTC's Soft Skills and will help prepare you for future employment. As your instructor, I will make reasonable allowances for personal illness, legitimate absences which accommodate the Americans with Disabilities Act (ADA) and absences for sincerely held religious beliefs. Whenever possible, please contact me prior to an absence to make arrangements for missed course work. Unexcused or excessive absences, however, will have a negative impact on your success in this course.

Include a statement that addresses how you will handle the No Show/Drop policy. (example: No Show/Drop/Cease to Attend: Students who do not attend the first session of class or who do not complete the first assignment in Blackboard by the deadline will be considered a "No Show" and will be removed from the course. If you wish to drop this course once it is underway, you may withdraw within the first 80% of the course. Please follow the information under the NTC Student Guidelines and Procedures (website is listed below) to officially withdraw from the course. If you cease to attend and do not “officially” withdraw from this course before it is 80% complete you may receive an “F” for this course.)

Online Attendance: To demonstrate consistent online attendance and participation, you should plan to log on and actively participate in the course at least 3-5 times each week. Examples of appropriate responses would be an entry into the threaded discussion, submission of an assignment, or participation in group work. (Though you are welcome to participate in the CyberCafe as frequently as you would like, this does not qualify as "attending and participating" in the course.)

Online - Learner Role and Responsibilities
You are an adult learner and as such you are responsible for you own learning. No one else can be a "stand in" for you in the learning process. You will be held accountable for all assigned activities. You matter and what you do does make a difference. You will have an opportunity to share your unique ideas and experiences with your student peers and myself. The form and content of your participation will determine the level of achievement, satisfaction, and enjoyment that you experience. Because others are depending on you to keep the course moving, you have an obligation to meet deadlines for completing assignments and postings.

Virtual College - In order to succeed in a Virtual College course, you need to have the required level of computer skills, motivation and a commitment to learn and work on your own. This means that it is very important that you are independently organized, responsible, have the ability to troubleshoot and understand how to ask for help when needed. While this course has flexible assignment deadlines, you must begin your course and complete one academic assignment within the first week of your designated start date (e.g. an assignment is an academic discussion post, quiz, exam or submitted assignment). Financial aid will not be disbursed until you complete at least one assignment.

To complete this course by the end of the semester, you are strongly encouraged to complete assignments each week. This will help you stay on track and be successful. If you run into issues during the semester, please contact me or Brandy Breuckman, your advisor, as soon as possible to help you work out a plan to ensure course completion.


NTC Student Guidelines and Procedures

Please review all of the NTC student guidelines and procedures found at this website:
www.ntc.edu/current-students/guidelines-procedures

Student Behavior Guidelines (Including)

  • Academic Honesty
  • Safety and Security
  • Children on Campus
  • Student Code of Conduct
  • Computer Use Policy
  • Student Due Process
  • Discrimination and Harassment
  • Tobacco-Free Campus Drugs and Alcohol

Student Academic Procedures (Including)

  • Academic Appeal
  • Grades and Grading System
  • Academic Retake
  • Refunds
  • Add/Drop a Class
  • Transcripts

General Information (Including)

  • Academic Calendar
  • Religious Accommodations for Students
  • Emergency School Closing
  • Student Catalog and Handbook
  • Equal Opportunity
  • Student Bill of Rights
  • Privacy Policies
  • Student Printing Procedure

Academic Support:

Please visit the following sites to learn more about these services.
Tutoring: www.ntc.edu/current-students/tutoring
Learning Center: www.ntc.edu/current-students/learning-center.html

Special Needs/ADA Accommodations

NTC is committed to providing reasonable accommodations that allow students with disabilities to fully participate in the technical college environment. If you are a student with a documented disability and believe you could benefit from academic accommodations, please contact the Student Success Center at 715.803.1469 or visit our website www.ntc.edu/current-students/disability-services

NTC Student E-Mail

Email is NTC’s official communication tool with students. Please check your NTC email often. All college and course communication will be through NTC student email and Blackboard. Please use professional communication at all times.

Student Help Desk Information

NTC has a 24-hour Student Help Desk to provide technical support for our online students. Requests for help may include login and password problems, course software use, software technical problems, and browser questions. If you have questions or need assistance when you are working on your course, you can contact the NTC Student Help Desk by calling 715-803-1160, press option #1, or 1-888-682-7144, Ext. 1160, press option #1. You can also submit a help ticket online at www.ntc.edu/helpdesk. Please provide the following information: name of course, your student ID number, what you were trying to do, any error messages you may have received, and how to contact you.

Course Revisions

In this syllabus, I have provided course information and a tentative schedule to guide your learning. I do, however, reserve the right to revise this information so that I may offer you the most current content and effective educational experiences. I will communicate any syllabus or schedule changes to you in a timely manner to support your success in this course.

Technical Skills Attainment

In addition to assessing each course competency, your instructors will assess your ability to demonstrate each program outcome. This assessment, called Technical Skill Attainment (TSA), is important because it objectively measures your ability to meet industry-recognized skills. When you complete the TSA for your program, you will demonstrate what you know and can do. You can then share this information with prospective employers. Your instructors will tell you how and when your program TSA will be done.

Note: Technical Skills Attainment does not apply to General Education/ABE/ESL courses.

Back to Top