CSIS 490 Applied Software Development


Course Description

Special software development projects are designed and completed by the student in an area that applies computing and software. This is an independent-study course and is supervised by staff in both the computer area as well as in the selected area of study.

This course is for upper-division CSIS majors and by instructor permission only.


Instructor

Brian R. Snider
Office hours: Klages 202 (see schedule)


Objectives

This course further explores software engineering and human–computer interactions methodologies in detail, and assumes mastery of topics covered in those courses.

Students will gather requirements for and then design a non-trivial software system in their chosen domain.

Students will utilize one or more high-level languages to implement a substantial and cohesive software system.

Students will be familiar with modern version control systems (e.g., Git) and related services (e.g., issue trackers).

Students will be familiar with modern software development processes (e.g., Scrum).

Students will be familiar with various development artifacts (e.g., UML diagrams, test matrices, software requirements specifications).


Course Organization

The course will include regular homework and/or programming assignments. Unless otherwise specified, assignments are due before the beginning of class on the due date. There will be no credit given for late assignments (without an excused absence)—turn in as much as you can.

Reading assignments should be completed before the lecture covering the material. Not all reading material will be covered in the lectures, but you will be responsible for the material on homework and exams. Quizzes over the assigned reading may be given at any time.


Collaboration

See the GFU CS/IS/Cyber policies for collaboration and discussion of collaboration and academic integrity. Most students would be surprised at how easy it is to detect collaboration in programming—please do not test us! Remember: you always have willing and legal collaborators in the faculty.

Almost all of life is filled with collaboration (i.e., people working together). Yet in our academic system, we artificially limit collaboration. These limits are designed to force you to learn fundamental principles and build specific skills. It is very artificial, and you'll find that collaboration is a valuable skill in the working world. While some of you may be tempted to collaborate too much, others will collaborate too little. When appropriate, it's a good idea to make use of others—the purpose here is to learn. Be sure to make the most of this opportunity but do it earnestly and with integrity.


Online Portfolio

All students in the College of Engineering are required to create and maintain an online portfolio on Portfolium to showcase their best work. Portfolium is a "cloud-based platform that empowers students with lifelong opportunities to capture, curate, and convert skills into job offers, while giving learning institutions and employers the tools they need to assess competencies and recruit talent."

Students will post portions of their coursework to Portfolium as directed by their instructor. For example, a portfolio entry might be PDF of poster or presentation content, screenshots or a video demonstration of a software or hardware project, or even an entire source code repository. In addition to required portfolio entries, students are encouraged to post selected work to their portfolios throughout the year.

Students will work with their faculty advisor to curate and refine their portfolios as they progress through the program. Students shall ensure that all portfolio entries are appropriate for public disclosure (i.e., they do not reveal key components of assignment solutions to current or future students).


University Resources

If you have specific physical, psychiatric, or learning disabilities and require accommodations, please contact the Disability Services Office as early as possible so that your learning needs can be appropriately met. For more information, go to ds.georgefox.edu or contact Rick Muthiah, Director of Learning Support Services (503-554-2314 or rmuthiah@georgefox.edu).

The Academic Resource Center (ARC) on the Newberg campus provides all students with free writing consultation, academic coaching, and learning strategies (e.g., techniques to improve reading, note-taking, study, time management). The ARC, located in the Murdock Learning Resource Center (library), is open from 1:00–10:00 p.m., Monday through Thursday, and 12:00–4:00 p.m. on Friday. To schedule an appointment, go to the online schedule at arcschedule.georgefox.edu, call 503-554-2327, email the_arc@georgefox.edu, or stop by the ARC. Visit arc.georgefox.edu for information about ARC Consultants' areas of study, instructions for scheduling an appointment, learning tips, and a list of other tutoring options on campus.


Grading

Grading Scale

The final course grade will be based on:


Tentative Schedule

Week 1

Project Planning

Week 2

Software Development Process

Week 3

Version Control

Week 4

Requirements

Week 5

Design: Sketching & Mockups

Week 6

Design: Prototyping

Week 7

Implementation: Languages & APIs

Week 8

Implementation: Design Patterns

Week 9

Implementation: Dependencies & Resources

Week 10

Implementation: Toolchains

Week 11

Unit & Regression Testing

Week 12

Spring break — no class

Week 13

Integration & User Acceptance Testing

Week 14

Documentation

Week 15

Maintenance & Support

Finals week

Final Presentation


This page was last modified on 2018-01-29 at 23:22:45.

Copyright © 2015–2018 George Fox University. All rights reserved.