First of all, Merry Christmas and can’t believe we got a real white Christmas this year! I would love to go out and enjoy the snow but I’m stuck in my room for self-isolation because I picked up covid earlier this week, then drove all the way to UBC to pick up a rapid covid test, only to find out that it has to be done 3-5 days after symptoms appear. So I’ll be writing some new posts in the meantime.

How I initially applied to science, then did my first year in engineering, second year in computer engineering, and then transferred back to science to complete a degree in computer science; a summary of my path and rating my decisions retrospectively.

Highschool: deciding what to study

In my senior year of highschool, I was indecisive about choosing a university major. At that point, I only knew I was good at the sciences—physics, chemistry, biology—and math, so accordingly I applied to general sciences. Although UBC has a general first year where we simply have to choose a faculty, like science, arts, engineering, business, etc, we still had to make a decision about majors the following year.

Even though I enjoyed my math and science classes, I didn’t know what I would do with a science degree after graduation. After doing a science project and a sustainability research project with a professor, I discovered I disliked research, because setting up research to try to get the “correct” results was very stressful. Furthermore, I couldn’t see myself working in a lab either, as I always found ways to mess up the experiment somehow, like forgetting to do a step in the lab instructions. A general first year in sciences, which just consisted of taking the same science subjects in my senior year of highschool but more advanced, wasn’t going to help me decide my major or even career.

So I transferred my application to applied science (engineering) instead, and then started my first year of university as an engineering student.

First year in engineering and picking a specialization

Retrospectively, that was a good decision as I really enjoyed first year engineering and met a lot of great people. The first year engineering courses come in a standard timetable, meaning you will have the same schedule as 10-20 other students, which meant I got to see the same friends/acquaintances in all my classes. Furthermore, there are project courses where we work in a group of 5-6 teammates for the entire term, which I thought was one of the best (most fun) group project experiences I’ve had to date, and included us building cardboard chairs and making metal claws.

Then, it came time to pick specializations. The most popular specializations were engineering physics (~85), computer engineering (~80) and mechanical engineering (~80). Since I didn’t get good grades for nothing, I knew I was going to pick one of the three. I ruled out engineering physics because the degree took too long, and it didn’t seem to have an advantage in the job market, as you don’t really go into depth in any one topic.

I struggled to choose between computer and mechanical engineering for a long time. In fact, I even applied and received an early offer for the mechatronics specialization within mechanical engineering, so I was pretty set on going into mechanical. However, the mechanical claw project in APSC 101 quickly changed that, and I realized I didn’t like designing and making moving parts at all, and hence I went with computer engineering.

So here I was, in the summer between freshman and sophomore year, super excited to begin my classes in computer engineering, not seeing the incoming storm that was about to occur.

Second year: computer engineering

I wrote a few posts that help paint an idea of my time in computer engineering: Dear Computer Engineering, and School Blues. However, the emphasis is on my own experiences and feelings during my time in computer engineering, rather than analyzing why it was the way it was. I’ll attempt to do that here, and I think it mainly comes down to 1) heavy workload and 2) unreasonable professors.

1. Heavy workload

First term of computer engineering was the toughest term I’ve had in university. Maybe 1.5-2x that of first year engineering. The courses in the timetable were:

  • CPEN 221 (4 credits)
  • CPEN 211 (5 credits)
  • MATH 220
  • CPEN 281
  • MATH 253

Notable assignments

CPEN 221 had timed programming quizzes, that many people end up getting a 0/4 on. We needed to pass all the autograder tests for one quiz, and we also had to pass this section to pass the course for no reason, so most of my class thought we were going to fail.

CPEN 211 had weekly assignments (i.e., labs), which took anywhere from 15-20 hours per week.

MATH 220 had weekly proof homework, which again took me anywhere from 10-20 hours per week. I also had no idea how to prove some of the questions, which resulted in me staring at a question for up to 3 hours, and then giving up and writing some random stuff. I found the assignments being very difficult as someone who hasn’t done any proofs before.

2. Unreasonable Professor(s)

If you go into computer engineering or electrical engineering, you will know what I’m talking about. The ece department is notable for its teaching team. And professors make a huge difference. Some of my professors in ece made me not want to go to class ever.

After my first term in computer engineering, I couldn’t take it any more, and wanted out. I remember listening to some career panel with an upper year ece student, who literally said they got depression from ece and had to take a few years break before returning to/completing school. And at that point I wasn’t even surprised, and could see it potentially happening to me if I stayed.

Thus during winter break, I handed in my application to transfer to computer science, and received my acceptance in April.

Third year/fourth year in computer science

When I started in computer science, I couldn’t believe that I could pick my own classes, and actually have a reasonable workload (and not do 6 courses). I was able to do 5 courses (CPSC 310, 320, 317 + 2 electives), a TAship, and my summer internship search, all in 1 term, and still found it much better than computer engineering. I also really appreciated the nice professors.

In conclusion, the path comes full circle, as I’m back in the faculty of science, exactly where I so badly wanted to transfer out of before starting first year. For the longest time, I thought I really did all of that for nothing. However, someone told me that perhaps I wouldn’t have gone into computer science if I stayed in general sciences in first year. And I kind of agree with that. I don’t think any experience is wasted experience, and sometimes we pick the wrong thing, but its not too late to try something else.

Though I didn’t go into the details of the transfer process, they were anything but easy and consisted of a lot of stress, emails/calls, waiting for decisions (more on my transfer to computer science). As someone who has to plan, I tried planned for everything in advance, including situations if I wasn’t able to transfer successfully, and what courses I needed to take to ensure I could still graduate on time. I also got told a few times in the beginning that I couldn’t transfer because it was too late, and that made me feel horrible. So it was anything but a fun process, but I think I’m glad I did it anyways.