Copy Home and Demographics + Refactoring #167

Merged
snedadah merged 4 commits from richardshuai/copy-homedemo-refactor into main 2023-02-04 02:08:41 -05:00
5 changed files with 137 additions and 50 deletions

View File

@ -14,28 +14,30 @@ export function About() {
<article> <article>
<h4>Computer Science</h4> <h4>Computer Science</h4>
<p> <p>
Offered from the Faculty of Mathematics as most commonly a co-op Computer Science (CS) is commonly offered by the Faculty of
program, students usually attend 8 school and 6 co-op terms in their Mathematics as a co-op program, with students usually attending 8
degree. However, CS is very flexible, as many students historically school and 6 co-op terms in their degree. However, CS is more
have dropped co-ops, taken terms off, and messed with their schedule flexible than the other two programs because of the ability to
to fit their desires. choose from a wider range and number of electives, to take terms
off, and to change their academic schedules to fit their needs.
</p> </p>
<h4>Computing and Financial Management</h4> <h4>Computing and Financial Management</h4>
<p> <p>
Computing and Financial Management (CFM) combines the core CS Computing and Financial Management (CFM) combines the core CS
courses with electives from areas such as accounting, economics, and courses with electives from areas such as accounting, economics, and
financial management. This is a joint offer from the Faculty of financial management. This is a joint offering by the Faculty of
Mathematics and the School of Accounting and Finance, and has the Mathematics and the School of Accounting and Finance. The program is
same schedule (and flexibility) as CS. offered only as a co-op program with 6 co-op terms. The program is
offered only as a co-op program with 6 co-op terms.
</p> </p>
<h4>CS/BBA</h4> <h4>CS/BBA</h4>
<p> <p>
Joint with Wilfrid Laurier University, the Business Administration Joint with Wilfrid Laurier University, the Business Administration
and Computer Science Double Degree (CS/BBA) is an exclusive offering and Computer Science Double Degree (CS/BBA) is an exclusive offering
that allows students to get experience in CS as well as many that allows students to gain experience in CS as well as many
subfields of business. There are 10 school terms and either 4 or 5 subfields of business. There are 10 school terms and either 4 or 5
co-op terms in the usual schedule, so its a bit more work than CS co-op terms in the usual schedule, so its a longer degree with more
or CFM. academic terms than CS or CFM.
</p> </p>
</article> </article>
</section> </section>

15
components/BlankLink.tsx Normal file
View File

@ -0,0 +1,15 @@
import React from "react";
export const BodyLink = ({
targetBlank = true,
children,
href,
}: {
href: string;
targetBlank?: boolean;
children: React.ReactNode;
}) => (
<a href={href} target={targetBlank ? "_blank" : ""} rel="noreferrer">
<b>{children}</b>
</a>
);

View File

@ -7,7 +7,7 @@ type AlignOption = "left" | "center" | "right";
type ComponentWrapperProps = { type ComponentWrapperProps = {
children: React.ReactNode; children: React.ReactNode;
heading: string; heading: string;
bodyText?: string; bodyText?: string | React.ReactNode;
align?: AlignOption; align?: AlignOption;
noBackground?: boolean; noBackground?: boolean;
}; };
@ -35,7 +35,13 @@ export function ComponentWrapper({
> >
<div className={`${styles.internalWrapper} ${styles.textWrapper}`}> <div className={`${styles.internalWrapper} ${styles.textWrapper}`}>
<h3>{heading}</h3> <h3>{heading}</h3>
{bodyText ? <p>{bodyText}</p> : null} {bodyText ? (
typeof bodyText === "string" ? (
<p>{bodyText}</p>
) : (
bodyText
)
) : null}
</div> </div>
<div <div
className={`${styles.internalWrapper} ${styles.horizontalScrollOnMobile}`} className={`${styles.internalWrapper} ${styles.horizontalScrollOnMobile}`}

View File

@ -25,6 +25,7 @@ import { useWindowDimensions } from "utils/getWindowDimensions";
import { useIsMobile } from "utils/isMobile"; import { useIsMobile } from "utils/isMobile";
import { BarGraphVertical, BarGraphHorizontal } from "@/components/BarGraph"; import { BarGraphVertical, BarGraphHorizontal } from "@/components/BarGraph";
import { BodyLink } from "@/components/BlankLink";
import { BottomNav } from "@/components/BottomNav"; import { BottomNav } from "@/components/BottomNav";
import { ComponentWrapper } from "@/components/ComponentWrapper"; import { ComponentWrapper } from "@/components/ComponentWrapper";
import { Header } from "@/components/Header"; import { Header } from "@/components/Header";
@ -50,7 +51,7 @@ export default function Demographics() {
<ComponentWrapper <ComponentWrapper
heading="What program are you in?" heading="What program are you in?"
bodyText="There are a total of 106 respondents of the CS Class Profile. Interestingly, there are a huge number of students that are just in CS, partially due to the overwhelming number of people in CS as seen in the total demographics." bodyText="There are a total of 106 respondents of the CS Class Profile. The majority of students are just in CS, due to CS being the largest program in size compared to CFM and CS/BBA. Breaking it down, 89 respondents were in CS, 12 were CS/BBA, and 5 were in CFM."
> >
<div className={styles.graphContainer}> <div className={styles.graphContainer}>
<PieChart data={D1} {...pieChartProps(isMobile, pageWidth)} /> <PieChart data={D1} {...pieChartProps(isMobile, pageWidth)} />
@ -59,7 +60,26 @@ export default function Demographics() {
<ComponentWrapper <ComponentWrapper
heading="Please select the gender identity option(s) with which you identify." heading="Please select the gender identity option(s) with which you identify."
bodyText="The ratio between different genders and pronouns is pretty drastic, but its important to note that this is not representative of everyone. There is also an obvious correlation between the gender identities and used pronouns. Note that certain respondents have chosen two or more of the listed categories. We have counted each of them as a separate entry rather than a category itself." bodyText={
<p>
About 33% of students identified as women or gender non-conforming
(women+). This statistic has been steadily increasing throughout the
years, as seen at{" "}
<BodyLink href="https://uwaterloo.ca/women-in-computer-science/statistics">
this link
</BodyLink>
. According to the same source, in 2017/2018 (when many 2022
graduates were admitted), around 24% of CS admits, 34% of CFM
admits, and 41% of CS/BBA admits were women+. Underrepresented
gender identities is a popular topic in the tech community, and so
it is promising that a more diverse range of people are becoming
interested in CS! Take a look at clubs such as
<BodyLink href="https://wics.uwaterloo.ca/"> WiCS </BodyLink> and
<BodyLink href="https://www.techplusuw.com/"> Tech+ </BodyLink>
that address these issues and work to provide an inclusive
environment in UW&apos;s tech scene.
</p>
}
align="right" align="right"
noBackground noBackground
> >
@ -80,7 +100,17 @@ export default function Demographics() {
<ComponentWrapper <ComponentWrapper
heading="Please select the racial category or categories with which you primarily identify." heading="Please select the racial category or categories with which you primarily identify."
bodyText="We have quite a bit diversity in here! Its great to see that, and extrapolating this to the rest of the population would probably yield similar results. Note that certain respondents have chosen two or more of the listed categories. We have counted each of them as a separate entry rather than a category itself." bodyText={
<p>
The largest racial group was East Asian at about 64%, followed by
White at 17%, and South Asian at 12%. Note that certain respondents
have chosen two or more of the listed categories. We have counted
each of them as a separate entry rather than a category itself.
Check out clubs such as
<BodyLink href="https://www.techplusuw.com/"> Tech+ </BodyLink>,
which supports ethnic minorities in tech!
</p>
}
align="left" align="left"
noBackground noBackground
> >
@ -89,7 +119,7 @@ export default function Demographics() {
<ComponentWrapper <ComponentWrapper
heading="What was your high school admissions average?" heading="What was your high school admissions average?"
bodyText="With a mean average of roughly 95.5%, getting into any of these programs is no easy feat. That makes everyone special from the day they were admitted into the school! :)" bodyText="With a mean average of roughly 95.5%, getting into any of these programs is no easy feat. That makes everyone special from the day they were admitted into the school!"
> >
<BarGraphVertical <BarGraphVertical
data={D5} data={D5}
@ -100,7 +130,20 @@ export default function Demographics() {
<ComponentWrapper <ComponentWrapper
heading="Please select the sexual identity option(s) you identify with." heading="Please select the sexual identity option(s) you identify with."
bodyText="There are a total of 106 respondents of the CS Class Profile. Interestingly, there are a huge number of students that are just in CS, partially due to the overwhelming number of people in CS as seen in the total demographics. Note that certain respondents have chosen two or more of the listed categories. We have counted each of them as a separate entry rather than a category itself." bodyText={
<p>
Over 27% of respondents identified as LGBTQ+. UW has plenty of
groups that support the LGBTQ+ community that can be found
<BodyLink href="https://uwaterloo.ca/human-rights-equity-inclusion/equity-office/pride-uwaterloo">
{" "}
here
</BodyLink>
. Clubs such as{" "}
<BodyLink href="https://www.techplusuw.com/"> Tech+ </BodyLink>
and <BodyLink href="https://ostem.clubs.wusa.ca/"> oSTEM </BodyLink>
support queer and trans students in tech and STEM environments!
</p>
}
align="right" align="right"
noBackground noBackground
> >
@ -113,7 +156,7 @@ export default function Demographics() {
<ComponentWrapper <ComponentWrapper
heading="Where did you live before coming to UW?" heading="Where did you live before coming to UW?"
bodyText="UW CS gets quite a bit from the GTA as most people may expect. But its always great to meet people that come from all over the place." bodyText="The UW computing programs receive the most students from the GTA/Toronto, as most people may expect. But its always great to meet people from all over the world."
align="right" align="right"
> >
<WordCloud <WordCloud
@ -128,7 +171,7 @@ export default function Demographics() {
<ComponentWrapper <ComponentWrapper
heading="What is the highest education level of your parents?" heading="What is the highest education level of your parents?"
bodyText="Theres quite a bit of spread in this chart! The real question is, how many of us are matching our parents levels of education? Find out later in the Class Profile…" bodyText="The most common education level of parents indicated by respondents was a Bachelor's Degree. That means that students will meet or surpass this level of education! The trend seems to be that children will follow in their parents' footsteps to graduate from a university. Find out later in the class profile how students want to continue past this stage of education..."
noBackground noBackground
> >
<BarGraphVertical data={D8} {...barGraphProps(isMobile, pageWidth)} /> <BarGraphVertical data={D8} {...barGraphProps(isMobile, pageWidth)} />
@ -136,7 +179,19 @@ export default function Demographics() {
<ComponentWrapper <ComponentWrapper
heading="What was your family income before entering your current UW program?" heading="What was your family income before entering your current UW program?"
bodyText="Most families made more than the average income in Canada today, which has been an increasing number over the last several years (apart from 2019 to 2020). So, its safe to say the average income of these individuals was also higher than the average income of Canada at the time they started university." bodyText={
<p>
Most families made more than the average family income in Canada in
2020 (
<BodyLink href="https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=1110001201">
$104,350
</BodyLink>
) The range of 51k to 200k was the most common among families. To
sustain a first-year tuition fee that can hover between $8,000 to
$55,000, it would make sense for many families to rely on other
sources of financial support.
</p>
}
align="right" align="right"
> >
<BarGraphVertical <BarGraphVertical
@ -148,7 +203,7 @@ export default function Demographics() {
<ComponentWrapper <ComponentWrapper
heading="How many close relatives have attended UW (i.e. siblings, cousins, aunts & uncles, parents, etc.)?" heading="How many close relatives have attended UW (i.e. siblings, cousins, aunts & uncles, parents, etc.)?"
bodyText="Wow! Theres a lot of people that are coming to UW as the first in the family, but its great to see that we have people who have had older siblings or other family members come here as well." bodyText="Wow! The vast majority of students are the first in the family to be a UW graduate. This could be explained by older relatives receiving education in other countries, or simply the vast number of other universities in Canada."
align="left" align="left"
noBackground noBackground
> >
@ -161,7 +216,7 @@ export default function Demographics() {
<ComponentWrapper <ComponentWrapper
heading="Please indicate your religion and/or spiritual affiliation." heading="Please indicate your religion and/or spiritual affiliation."
bodyText="There are a total of 106 respondents of the CS Class Profile. Interestingly, there are a huge number of students that are just in CS, partially due to the overwhelming number of people in CS as seen in the total demographics. Note that certain respondents have chosen two or more of the listed categories. We have counted each of them as a separate entry rather than a category itself." bodyText="80 respondents identified themselves as non-religious, which is a surprising 72% of the total responses to this question. According to Statistics Canada, in 2019, 68% of Canadians reported being religious. However, this number has decreased over the years, and this is heavily reflected in the younger generations such as the students in this class profile."
align="right" align="right"
> >
<BarGraphHorizontal <BarGraphHorizontal

View File

@ -3,6 +3,7 @@ import React from "react";
import { basePath } from "utils/getBasePath"; import { basePath } from "utils/getBasePath";
import { About } from "@/components/About"; import { About } from "@/components/About";
import { BodyLink } from "@/components/BlankLink";
import { CenterWrapper } from "@/components/CenterWrapper"; import { CenterWrapper } from "@/components/CenterWrapper";
import { Header } from "@/components/Header"; import { Header } from "@/components/Header";
import { Sections } from "@/components/Sections"; import { Sections } from "@/components/Sections";
@ -38,39 +39,47 @@ export default function Home() {
<CenterWrapper> <CenterWrapper>
<h1>Preface</h1> <h1>Preface</h1>
<p> <p>
The CS Class Profile consists of data relevant to CS, CFM, and The 2022 CS Class Profile consists of data relevant to CS, CFM, and
CS/BBA students. These were combined with the knowledge that CS/BBA students completing their undergrad in 2022. These were
students in these programs tend to have similar experiences, as many combined with the knowledge that students in these programs tend to
of the same CS required courses are shared. In the standard co-op have similar experiences, as they share many core courses. In the
offering, CS and CFM take 4 years and 2 semesters to complete, while standard co-op offering, CS and CFM take 4 years and 2 terms to
CS/BBA can take up to a full 5 years. complete, while CS/BBA can take up to a full 5 years.
</p> </p>
<p> <p>
Computer Science (and the others) is known to be a very prestigious The University of Waterloos computer science programs are known to
program, and is very well known in Canada as well as across the be prestigious and well-known in Canada as well as across the world.
world. For prospective students or anyone who is interested in As of 2022, it ties for first place in Macleans university
learning more about what the students are like, this CS Class rankings, and 25th internationally as a subject by the QS World
Profile will attempt to answer some of your questions, and you may University rankings. For prospective students or anyone who is
even learn a thing or two you didnt expect! interested in learning more about what the students are like, this
CS Class Profile will attempt to answer some of your questions, and
you may even learn a thing or two you didnt expect!
</p> </p>
<p> <p>
The survey questions were approved by the Institutional Analysis & According to the{" "}
Planning, where all University of Waterloo stakeholders that are
interested in conducting a non-academic research survey involving a
large portion of the UWaterloo population are reviewed and approved.
The entirety of the survey creation, data processing, and the
creation of this website was done by the{" "}
<b> <b>
<a <BodyLink href="https://uwaterloo.ca/institutional-analysis-planning/university-data-and-statistics/student-data/degrees-granted-0">
href="https://csclub.uwaterloo.ca" Institutional Analysis & Planning (IAP)
target="_blank" </BodyLink>
rel="noreferrer" </b>
> , there were a 613 graduates from CS, CFM, and CS/BBA, leading to a
overall survey turnout of 17%. By program, this is a 17% turnout
from CS graduates, 22% turnout from CS/BBA graduates, and 14%
turnout from CFM graduates.
</p>
<p>
The survey questions were approved by the IAP, where all University
of Waterloo stakeholders that are interested in conducting a
non-academic research survey involving a large portion of the UW
population are reviewed and approved. The entirety of the survey
creation and data processing was done by the{" "}
<b>
<BodyLink href="https://csclub.uwaterloo.ca">
UW Computer Science Club UW Computer Science Club
</a> </BodyLink>
</b>{" "} </b>
so please check us out if you enjoy what you see! All of the graphs, , so please check us out if you enjoy what you see!
and designs on this website were built by us!
</p> </p>
</CenterWrapper> </CenterWrapper>
<Sections data={pageRoutes} className={styles.homeSectionsStyles} /> <Sections data={pageRoutes} className={styles.homeSectionsStyles} />