Overview
The purpose of this portfolio is to document my role in the project and the contributions I made in the CS2103T project.
SuperTA is a desktop application for Teaching Assistants and Professors of NUS School of Computing to manage their tutorials and students. It is optimized for those who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). It is written in Java, and has about 10 kLoC.
Summary of contributions
-
Major enhancement: added RemoveStudentFromTutorialGroup command. (Pull Requests #90)
-
What it does: Allows the user to delete students from a tutorial group.
-
-
Code contributed: [https://nus-cs2103-ay1819s1.github.io/cs2103-dashboard/#=undefined&search=keithtan]
-
Other contributions:
-
Minor enhancements:
-
Project management:
-
Added milestones and labels on GitHub
-
Added issues and enhancement suggestions as needed on GitHub
-
-
Enhancements to existing features:
-
Documentation:
-
Community:
-
Contributions to the User Guide
Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users. |
Remove from Tutorial Group: remove-from-tutorial-group
Removes a student from a tutorial group.
Format: remove-from-tutorial-group tg/TUTORIAL-GROUP-ID st/STUDENT-ID
Examples:
-
remove-from-tutorial-group tg/1 st/A1231231Y
Removes the student with student IDA1231231Y
from the tutorial group with an ID of1
.
Contributions to the Developer Guide
Given below are sections I contributed to the Developer Guide. They showcase my ability to write technical documentation and the technical depth of my contributions to the project. |
Introduction
Welcome to the SuperTA Developer Guide. This guide provides information to help you get started as a SuperTA contributor, allowing you to code, test and improve on the software without much hassle.
SuperTA is a desktop application for Teaching Assistants and Professors in NUS School of Computing. It provides a convenient, flexible and fast method to manage students and their tutorials. This software is also designed to have the Command Line Interface (CLI) to be the primary mode of input while the GUI is used for visual feedback to the user.
If you’re brand new to SuperTA and want to jump into code, start with [Setting up].
User Stories
Priorities: High (must have) - * * *
, Medium (nice to have) - * *
, Low (unlikely to have) - *
Priority | As a … | I want to … | So that I can… |
---|---|---|---|
|
TA |
see usage instructions |
refer to instructions when I forget how to use the App |
|
TA |
add a new student |
|
|
TA |
edit a student |
keep their details updated |
|
TA |
view a student |
know the student’s details in a glance |
|
TA |
delete a student |
remove entries that I no longer need |
|
TA |
find a student by name |
locate details of students without having to go through the entire list |
|
TA |
find a student by matriculation number |
locate details of persons without having to remember his/her name |
|
TA |
give feedback for my students |
update additional information about the student |
|
TA |
create a tutorial group |
categorize them into groups |
|
TA |
delete a tutorial group |
remove them when I am no longer teaching in it |
|
TA |
add a student to a tutorial group |
|
|
TA |
delete a student from a tutorial group |
see students in a specific tutorial group |
|
TA |
add attendance for my students |
know whether my students are coming to tutorials |
|
TA |
delete attendance for my students |
remove entries that I no longer need |
|
TA |
add an assignment to tutorial group |
track the assignments |
|
TA |
delete an assignment to tutorial group |
remove entries that I no longer need |
|
TA |
add marks to assignments |
track their marks |
|
TA |
edit marks in assignments |
change their marks |
|
TA |
sort students in order of their grades for a specific assignment |
know who is/is not performing well |
|
TA |
view the performance of my students over time through visual aids |
easily view their progress at a glance |
|
TA |
get recommendations on my teaching style |
improve or change my teaching style |
|
TA |
data trending of the performance of my students |
track the progress of the students |
|
TA |
plan consultations with students through a calendar system |
better manage my time and the learning of the students |
|
TA |
get suggestions on how to cater my teaching style to a specific student |
teach that student better |
|
TA |
flag a student that needs help |
easily filter out the students that need help |
|
TA |
plan non-clashing consultation sessions with students |
reduce tht time needed to find a suitable date and time and better manage my schedule |
|
Prof/TA |
access the academic records of my students with a secure password |
prevent leaking of personal data |
|
TA |
share student records with other TAs |
build on pre-existing data about the student |
|
TA |
receive student records from other TAs |
understand my students better |
|
TA |
send emails to tutorial groups |
relay important information to my students |
|
TA |
export student data to a CSV/PDF |
easily share the data with related parties |
|
Student |
feedback to my TAs about their teaching style |
learn better during classes |
{More to be added}
Creating an attendance session
-
Creating an attendance session
-
Prerequisites: Have one tutorial group with an ID of
04a
.
View the tutorial group using theview-tutorial-group id/04a
command. -
Test case:
create-attendance tg/04a n/W4 Tutorial
Expected: An attendance session should be created. If you are on the detailed tutorial group screen, the UI should update accordingly. -
Test case:
create-attendance tg/05a n/W4 Tutorial
Expected: An error message should be displayed, saying that there is no such tutorial group. -
Test case:
create-attendance tg/04a n/W4 Tutorial
Expected: An error message should be displayed, saying that the attendance session already exists in the tutorial group.
-
Marking an attendance
-
Marking an attendance
-
Prerequisites: Have one tutorial group with an ID of
04a
, an attendance session with name ofW4 Tutorial
and 3 students with student IDsA0166733Y
,A0123456Y
andA0144582N
in the tutorial group.
View the session in the tutorial group using theview-session tg/04a n/W4 Tutorial
command. -
Test case:
mark-attendance tg/04a n/W4 Tutorial st/A0166733Y
Expected: The student with idA0166733Y
should now be in the 'Attended' column. -
Test case:
mark-attendance tg/04a n/W4 Tutorial st/A0123456Y st/A0144582N
Expected: Both students with idsA0123456Y
andA0144582N
should now be in the 'Attended' column, asmark-attendance
supports marking multiple students. -
Test case: Duplicate ID -
mark-attendance tg/04a n/W4 Tutorial st/A0166733Y
Expected: An error message should be displayed, saying that the student’s attendance is already marked. -
Test case:
mark-attendance tg/05a n/W4 Tutorial st/A0166733Y
Expected: An error message should be displayed, saying that there is no such tutorial group. -
Test case:
mark-attendance tg/04a n/W4 Lab st/A0166733Y
Expected: An error message should be displayed, saying that the session does not exist. -
Test case:
mark-attendance tg/04a n/W4 Tutorial st/A1234560T
Expected: An error message should be displayed, saying that the student is not in the tutorial group.
-
Giving feedback to a student
-
Giving feedback to a student
-
Prerequisites: Have a student with student id of
A0166733Y
View the student using theview id/A0166733Y
command. -
Test case:
feedback id/A0166733Y f/Is generally attentive during class.
Expected: The student gets a feedback on the student profile. -
Test case:
feedback id/A0123456T f/Is generally attentive during class.
Expected: An error message showing that there is no such student.
-