For this task, you will continue to develop an initial data model for RadGrad by inventing hypothetical users according to a range of personas.
Now that Tags, TagTypes, Opportunities, OpportunityTypes, and Courses are available, the next step is to create a sample set of students who characterize different interests, goals, and progress through the CS or CE program.
To do this, we will create User instances with the role “Student” based upon a set of characteristics which describe their “persona”. Here are some personas to get you started:
Newbie-1 has not taken any CS courses yet. They are not sure what they want to do professionally, maybe do web development. Newbie-1’s background is not heavy on STEM. They may or may not do well in ICS or CE.
Gamer-1 is new to ICS, but not to STEM or computer science. They’ve been playing games since they were young. They want to be a game programmer as their career. Gamer-1 could go into either CS or CE.
Maker-1 has been playing around with electronics since they were a kid. He or she has entered science competitions. Maker-1 currently wants to design drones for a career. Maker-1 had calculus in high school, and will definitely want to get a CE degree.
Intro-A has taken the 100-level ICS (or CE) courses and did very well (all As and Bs). They have planned out the next four semesters to include at least 2 ICS courses per semester.
Mid-B has taken 100, 200, and 300 level ICS (or CE) courses and got mostly Bs. They have planned out all of their remaining semesters.
Graduating-BS-3.5 is in their final semester of ICS (or CE) and will complete all their degree requirements this semester. Their final GPA will be around 3.5.
Graduating-BS-3.0 is in their final semester of ICS (or CE) and will complete all their degree requirements this semester. Their final GPA will be around 3.0.
You will implement 8 users: one user for each of these 7 personas, plus one user that roughly characterizes your own situation. For each user:
Name: Create a first and last name using Random name generator. Don’t go too crazy on the name.
Slug: concatenate the name together.
DegreePlan: Create a degree plan (course instances, opportunity instances, and work instances) appropriate to the persona. At least one of your personas should have heavy work obligations (25 hrs/wk), one should have “moderate” (5-10 hrs/wk), and one should have no work obligations. For others, mix it up however you please, but try to make it realistic. For course and opportunity instances, make the choice of semesters realistic based upon where the student is in their degree program. Assume they are going to school continuously.
DegreeGoals: Newbie-1 will not have any degree goals, but the Graduating personas will have at least one each. If none of the existing degree goals make sense for your persona, please define a new degree goal.
InterestTags: Personas can have from 3 to 15 interests. Pick out a selection that makes sense for the persona. Pick out different ones for different personas so a variety are represented in the system.
Picture: For each of your personas, you need to provide a URL to a plausible and not inappropriate head shot. One idea is to search google for “face” and try to find one that (a) is labeled for reuse, (b) is not more that a few hundred KB but is at least 200x200px, and (c) looks like a possible ICS or CE student. All pictures must be unique, if two students come up with the same picture, then the first one to commit wins and the other needs to find a different one.
AboutMe: Write a paragraph in the voice of your persona that describes them. The About Me should correspond to the attributes of the persona but can also fill in missing details about their interests and goals.
Graduation Semester ID: Pick a graduation semester that is plausible based upon the state of their degree program.
It is much easier to design the student using a template. Make a copy of this google doc.
It contains two sheets: a “template” sheet that is not filled out, and an examples student (Bronislaw Fryderkyk). Here’s a screen image of the student sheet:
Some helpful links:
Once you have used the template to design a student, create a file with the same basic structure as StudentProfile.js. If your randomly generated user name is “Joe Smith”, then the file should be named “StudentProfileJoeSmith.js”, and the function defined in it should be named “defineStudentProfileJoeSmith”.
Create javascript to define the persona.
If necessary, feel free to define new tags, degree goals, opportunities, etc. as part of the implementation of your persona.
Then, update the LoadDataModel.js function with a call to your student profile definition function.
Your 8 student profile designs are due by the start of class on Tuesday, as noted on the Schedule page. We will review the designs on Tuesday and make suggestions for revisions.
The javascript implementation will be due on Thursday. You will be graded on both the initial and revised versions of your personas.