UTSA CS 3443 Application Programming
Team Project Guidelines
In this course, you will form teams and develop a desktop application over the course of the semester.
The team project grade will be calculated via the following:
- Project Proposal
- Project Demo
- Project Code
- Team Participation
Each team member may receive a different grade for the team project.
Team participation will be determined via a survey posted to Blackboard in the final 2 weeks of class.
All team members must complete the questions in the survey individually.
Participation may also be assessed using GitHub commit history.
- Choose a team leader - Your instructor will reach out to them as needed for updates and information during the semester.
- Choose a team name - This will designate your team name on GitHub. (Inappropriate names will be rejected)
- Choose an application idea - All team members must agree upon the app. You may come up with your own idea or refer to the listing on this page for help.
Proposal: see Blackboard for due date
Teams will create a project proposal from the following template, and team leaders will email the team's proposal to the instructor by the deadline.
The purpose of this proposal is to initiative conversations between team members on the design and operation of the team project.
Any issues or concerns should be reviewed with the instructor prior to the due date.
All components outlined in the proposal template are required.
Project proposal template
Note that it can sometimes be difficult to determine the scope of a project (this is true after this course as well!).
If your team is struggling with this, do not hestitate to email a brief description of the project to your instructor for feedback.
Additionally, there are project ideas and projects from previous semesters listed below.
- (20pts) Team has been formed, a team leader has been established, and all team member GitHub IDs have been provided.
- (20pts) A project of reasonable scope has been proposed - one which will require approximately one semester to work on as a group. Project must be a desktop application.
- (60pts) Proposal is created as required above - all views are shown, template completed.
see Blackboard for due date
In order to demo your application to the class, your team will create a demo video.
For full credit, your demo must adhere to the following guidelines:
Demo videos will be shown in class.
After your video is shown, your team will have an opportunity to answer questions from peers, the instructor, and any guests.
Teams are typically asked what the most challenging aspect of the project was, or about team dynamics.
- The video must be emailed to the instructor by the deadline.
- No longer than 3 minutes in length
- Includes the team name, the names of each team member, and the name of the project
- Pitches the application, motivating the reason the app was developed and how it might be used.
- Shows all views of the application.
- (20pts) Demo video adheres to given criteria for time and includes names of all participating team members, team name, and project title.
- (20pts) Video pitches the app - motivates a need/desire for the app.
- (60pts) A full demo of the app, including all views.
Due on the last day of classes
A final copy of your code will be cloned from your team repository after this date.
For full credit, your code must adhere to the following guidelines:
Your instructor will clone the repository to a CS Department VDI and follow the instructions in your README file.
If they are unable to run your application, your team will lose credit for this portion of the project.
- The project must be a JavaFX application.
- All code must be located in the team repository created for you on GitHub.
- Code must follow the MVC design pattern.
- The repository must have a README file, which contains instructions for running your application.
This should include any special files or requirements (such as internet access, etc).
- UML diagram for the project should be included in the project/repository.
- (15pts) Full Javadoc comments on all classes
- (10pts) UML diagram of application, including FXML files
- (20pts) Code is clean, formatted, and adheres to MVC design pattern.
- (20pts) The README file in the GitHub repository indicates clearly how to easily clone and run the application
- (10pts) The README file in the GitHub repository clearly indicates what functionality does (and does not, if applicable) work in the final version of the applicatoin
- (10pts) Any data required to test/demo the application has been provided within the project.
- (15pts) Project follows all requirements documented above, including implementation in Java with JavaFX.
An Eclipse project must be committed to the GitHub repo provided to your team by the deadline noted.
Need some inspiration?? Here are a few application ideas:
..are there any apps you'd find useful or fun?
- Games! Nintendo, Atari, you name it
- Meme generator
- Financial calculator
- Vacation Planner
- UTSA kiosk
- Photo editor
- Inventory system
- Home organizer
- House floorplan designer
- Fitness application
- Savings planner
Videos from previous semesters
Participation (100 points)
Any team member who does not participate in the team project risks all points for the team project portion of their grade.