Independent study courses are offered as a way of teaching material not covered in regular courses. These courses are tailored to each individual student based on a course proposal submitted by the student to an advising faculty member.
Evaluation Criterion for the Independent Study Course:
● Independent study course proposal must be approved by the faculty adviser. The proposal should document
- Objective of the project
- Materials covered/Justification
- Course outline/milestones
● A presentation of 30 minutes is given by the candidate at the end of the first and second semesters.
● A written report containing the following items is submitted to the student’s supervisor prior to the second semester presentation:
- Cover page (title of paper, name of student, name of advisor, date of submission, course number)
- Results/Outcome of the project
- Conclusion and future works
- Appendix (if applicable)
● Before the end of the second semester, the student must also submit an electronic copy of the Independent Study report.
● Periodic documentation throughout the project(s) as described in the Course Management section later in this document.
Guidelines for Projects:
● TOPIC: The app can be about any topic.
● PLATFORM: The app can be on any platform (web app, desktop/PC app, a web browser extension, mobile, etc).
● FUNCTIONALITY: The app must have some degree of functionality to be competitive.
● CONTENT SUITABILITY:The app cannot be indecent, defamatory, in obvious bad taste, demonstrate a lack of respect for public morals or conduct, adversely affect the reputation of the Liberal Arts and Science Academy (LASA), or depict hatred, defame, or threaten a specific community in the society or incite violence. The app must not violate the Intellectual Property, common law or privacy rights of other parties.
● ORIGINALITY: The app must be original and solely owned by the Contestant such that no other party has any rights or interest, whether known or unknown.
● LANGUAGE: The app may support any language but must be understandable by English speakers.
● We will focus on maximum coding time and minimal overhead,
● Your project needs to demonstrate progress and growth in some fashion.
● Project management will be based on a process similar to Agile Project Management. Although Agile is primarily used for managing development teams, parts of Agile are applicable to any project whether a team or an individual. (Agile is the dominant project management approach in industry.)
● Agile is based on a spiral model of development. The spiral model involves repeating cycles of development that are comprised of multiple phases.
● In brief an agile project starts with a long list of the features you want in a final product. Usually a software project takes some number of months to complete. For the purpose of managing progress, the project is broken into sprints of two to four week duration.
● At the beginning of each sprint a subset of tasks is chosen to be attempted during the current sprint. At the end of the sprint the software product is demonstrated to show the accomplishments of the sprint. And, a retrospective is conducted to capture what was learned. The learning then goes into planning for the next sprint, the next set of tasks is selected, and the cycle repeats. So the first sprint might have a demonstration software that barely says “Hello World” and the last sprint should be fairly close to a complete product.
● In your case your project or projects will fill out the year. We will operate on three week sprints which is convenient for the grading period. Each semester will be independent so you may choose to do different projects in fall and spring. At the end of the spring semester you will need to present on your accomplishments of the year. Think of this as the marketing pitch for your product if you intend to commercialize it.
● Inherent in any software project is the application of various CS technologies. For instance if you were writing a game you would likely have some AI if the computer is providing an adversary. Or if you were utilizing some on-line data base you would need to have some query language and set theory. This is inherent in coding, you will have done this whether you realize it or not. In the retrospective you will need to provide at the end of the sprint, is a discussion of a relevant CS topic encountered in the sprint. Not to worry, between Mr Mueller and myself, we have had tons of courses and job experience which can help point you in the right direction.