My path to CS and opinions on CS Education

My path to CS and opinions on CS Education

, 2812 phrases, 15 mins

Right here is impressed by Severely Wide awake Computing, and I take quotes from that guide.

When I turn out to be once in first year of university, I started to take into account that I wasted my time in excessive faculty; I wished that I started learning about computer science sooner. I had invested a quantity of time into chemistry in excessive faculty, and then pivoted to majoring in computer science in university. These two matters develop not catch grand in relation at all. It gave the influence of while everyone else (in computer science) turn out to be once learning about AI and web pattern, I turn out to be once busy learning chemistry and various IB linked issues (English IBHL of us know the draw indispensable this course turn out to be once).

By the live of my first year, I turn out to be once fully at a loss for phrases. At college we learned about graph traversals, proofs and good judgment, but I kept hearing everyone discuss doing “Full Stack” pattern. So I made up my thoughts to learn more about that, and had a base time learning about it. I wasn’t drawn to HTML or JavaScript, and I didn’t favor to assemble web sites; this lead me to take into account that computer science turn out to be once precise building web sites! I did some hackathons and tried learning stuff over the summer, but nothing stuck and I began to feel like this wasn’t the route I desired to soak up university.

Initially of my second year, I turn out to be once thinking of switching my major in computer science and going for a indispensable in chemistry. If truth be told, that’s when I started taking more chemistry and successfully being science programs. And being in those chemistry classes had been a contemporary of breath air for me; no one talking about JavaScript, internships, or side tasks. There turn out to be once occasional discuss undergrad examine, however the ambiance in successfully being science classes had been less stifling for me than computer science classes.

I judge a motive at the aid of that is because in everyone in successfully being science classes had more or less the same quantity of files. If truth be told, first and second year chemistry classes had been scrumptious for me because I had taken Chemistry IBHL. Biology, biochemistry and microbiology classes had been scrumptious for me because I had the same basis of biology and chemistry as everyone else. I didn’t feel like I turn out to be once every “at the aid of” in the same formulation that I did in computer science classes. In my organic chemistry class, we had been collectively at a loss for phrases, which is a nice feeling to catch vs. being the most high quality one at a loss for phrases.

In computer science, so a lot of my classmates (largely men) had already started programming in excessive faculty. They talked amongst themselves about matters I didn’t understand and had been in a assign to without pains reply in school questions. It felt like a club I turn out to be once shut out of because I wasn’t spending time in excessive faculty programming. But when the midterm stamp distribution came out, I turn out to be once never terribly under average; now and again above, and now and again precise average. So why did I at all times feel intimidated and out of location?

I’m not in point of fact sure. But now in my third year, I’m no longer sad that I wasn’t coding away in the course of excessive faculty, because I loved my time in excessive faculty. Chemistry will at all times be one thing I love. For the longest time, I could per chance most doubtless well not give an explanation for taking programs in chemistry or biochemistry in university because I belief I ought to quiet easiest pay money for programs that had better a return. Wouldn’t it be better to pay money for a computer science course that will most doubtless well also enable me to fabricate extra cash, then a chemistry course that I turn out to be once precise drawn to? I had this mindset in first and piece of second year. But this resulted in me flip flopping between programs (never having a upright timetable) and selecting programs that “sounded upright” and never if I in point of fact desired to learn the topic. At final, I realised that I turn out to be once losing more time searching to drive myself to like some programs; what would happen if I took that organic chemistry course as an different of the databases course? Optimistically nothing grand, because I’m in that organic chemistry course appropriate now. Furthermore, I’ve learned out that I’m really drawn to programming languages (how they’re designed) and working programs/compilers (how that programming language is grew to turn out to be into assembly and how hardware and instrument talk with every assorted). So I develop not judge I’m going to be taking that database course.

One huge motive I never ventured into computer science in excessive faculty turn out to be once that I didn’t catch upright sources shut to me. Out of the whole ladies in my IB class, easiest 2 (together with me) made up our minds to not establish a stage in the successfully being sciences. In my on a every day basis life, no one I talked to talked about computer science.

One motive why I cherished chemistry is because I had a wealth of sources shut to me to foster that keenness. I started learning about orbitals in junior excessive and hand drew a periodic table that has hung in my room for 8 years. My father (who additionally shares the same passion for chemistry) actively encouraged my pursuits and gave me sources so I could per chance most doubtless well also self learn at a younger age. Furthermore, the Science 10 (and junior excessive) curriculum had chemistry constructed-in into it, so I didn’t favor to establish grand self directed learning when I entered excessive faculty. I additionally had chums I could per chance most doubtless well also consult with about chemistry, a trainer who turn out to be once smitten by teaching chemistry, and a fancy curriculum in chemistry thanks to IB that went above and beyond the Alberta excessive faculty chemistry curriculum.

On the assorted hand, I didn’t catch any exterior factors for pursuing computer science. The computer science program at my excessive faculty in Calgary turn out to be once unbeknownst to me (I develop doubtlessly not know if they had a computer science program), my of us never in point of fact mentioned it to me, and no-one around me turn out to be once talking about computer science. I had never learned about computer science and even had it mentioned to me except my final year of excessive faculty, which turn out to be once then computer science became the next freshest thing. I turn out to be once panicked that a indispensable in chemistry would lead to a futile occupation, which is why I made up my thoughts to major in computer science. I develop not like that this turn out to be once the motive at the aid of me to region foot into computer science, but I’m overjoyed that isn’t any longer the motive that I’m staying. There are many the clarification why I’m staying:

  • computers can abet us in so a lot of varied areas, like drug examine and DNA sequencing!
  • the vogue computers work is terribly attention-grabbing; it’s every fragile and sturdy, just like the vogue our our bodies work. Totally loopy stuff.
  • I admire gleaming precisely how one thing works. Right here’s a motive why I’m drawn to low stage computing/compiler/working programs. Lot’s of abstractions hide the grotesque facts, but I take care of to grab those grotesque facts.

There is additionally many university programs that helped me realize those causes of why I’m staying in computer science; CPSC 110 and CPSC 213. No longer easiest did I skills the hiss material, however the professors impressed me and interested me!

CPSC 110 taught me so many ideas I didn’t even know I turn out to be once learning.

  • I learned about files constructions like graphs without even gleaming I turn out to be once
  • I learned about linked lists without even gleaming I turn out to be once
  • I learned about graph traversals
  • I learned about program salvage
  • I learned about test driven pattern
  • I learned about abstraction

CPSC 213 turn out to be once the course that FINALLY allowed me to realise:

  • pointers
  • how code turns into understandable to a computer
  • how and why a stack overflow can occur from too many recursive calls
  • why we in point of fact desire to care about memory utilization

I’m infected for more greater stage programs, and to additionally mix what I will learn in computer science with chemistry and biochemistry. I develop not judge learning computer science in excessive faculty would of resulted in the assign I’m at the moment time. Taking my first computer science in university from a world renown professor who tailored the course for years, has formed the vogue I judge about programming and computer science in a particular formulation; I judge about code in a more functional formulation, than an crucial and object orientated formulation. The computer science curriculum at my excessive faculty touches on OOP ideas and crucial programming before recursion and functional programming ideas. I’m overjoyed I turn out to be once launched to functional programming ideas before crucial ones because this has made learning ideas in assorted classes grand more uncomplicated. The formulation a college lays out their computer science curriculum is more belief out than a excessive faculty one (I judge, not not up to in excessive faculties from Calgary), so that is additionally one other motive I no longer remorse how I spent my time in excessive faculty (learning about issues I cherished).

There is many programs that are centered in direction of minorities in computer science. To me, most of them seem to almost be preying on this minority notify in computer science for his or her catch salvage, or develop not seem to if truth be told be helping.

One I develop not particularly like is KodeWithKlossy. Their programs seem highly inaccessible to those who in point of fact favor it and catch a lacking curriculum. Their programs focus on web pattern and iOS app pattern. iOS app pattern is already inaccessible in it’s nature; easiest MacBooks can traipse the required instrument (XCode) that’s wished to fabricate an iOS app. Whereas you develop not catch salvage entry to to a computer, you sure are not shopping a MacBook as your first. I never (and quiet develop not) catch had MacBook, so that program would merely out of my reach. And if MacBooks had been provided, I wouldn’t be in a assign to expend those talents out of doors of the program except KodeWithKlossy gave everyone a MacBook, which they doubtlessly are not. Furthermore, after the final tasks created for the acquire pattern program, they’re very easy in nature and develop not highlight key areas of computer science like notify fixing (thru algorithms), abstraction, or working programs, to precise name about a. I’m sure if I took KodeWithKlossy, I’d not favor to enter Laptop Science because building web sites isn’t every attention-grabbing to me.

One more motive why these programs are highly inaccessible is due to fee. As an illustration, one three-week KodeWithKlossy program fee 8795 USD. If the program ran for 3 weeks, 8 hours a day, this fee comes down to 52 USD per hour.

The worth breakdown for CPSC 110 at UBC:

  • 13 weeks of instruction
  • 3 hours of lecture per week
  • 3 hour lab per week
  • countless trainer and TA location of job hours (not counted in calculation)

Would lead to not not up to 78 hours, giving us 9 CAD per hour of lecture or lab. And that isn’t counting the many location of job hours college students can salvage as successfully as to lectures and labs. And our professor has been shaping this course for years.

It’s a long way merely appalling for anyone to pay this grand for a program that’s not even a college or university course.

One more program I develop not like is SheCodes which to me appears to be like to prey on ladies searching to transition to a occupation in tech by teaching them web pattern (of us specializing in web pattern is increasing quick, and the realm is popping into very inflated. Telling of us that learning web pattern will salvage them a job or excessive wage might per chance most doubtless well not be true in about a years. I additionally in my notion develop not like web pattern). Oh, and it’s not free.

This quote drives the purpose dwelling that programs like KodeWithKlossy develop not seem to if truth be told focus on helping those who’re economically unable to search out out CS education, but those who catch the money; as long as there are ladies/gender minorities in our program (who pays), who cares if they in point of fact desire abet accessing CS programs or are the groups of of us that need the most abet? The curriculum additionally appears to be like very shallow, focussing on “sizzling” talents like web pattern and iOS pattern (I attempted finding the curriculum but I will’t). Is that nasty? I judge so, but others might per chance most doubtless well also take into account not. Focussing on gender minorities frames KodeWithKlossy as doing upright (and never damage). This pattern is additionally seen in SheCodes and various bootcamps.

One more notify is that these programs (KodeWithKlossy and SheCodes) easiest divulge “entrance-live” web pattern, which is readily turning accurate into a girl dominated area. Is that upright? I develop not judge so. Traditionally, when ladies enter sure fields, it “lowers” the worth of it. Front-live pattern is now seen as “more uncomplicated” then backend or frontend. I’m a firm believer ladies ought to quiet not take care of up entrance-live as their “route” into tech. Sadly, KodeWithKlossy and SheCodes capitlizes on the “easiness” of entrance-live pattern and shove it down ladies’s throats.

The computing historian Marie Hicks can’t stand it when of us tout coding camps as a resolution to skills’s gender notify. “I judge these initiatives are successfully-which formulation, but they fully misunderstand the difficulty. The pipeline isn’t the difficulty; the meritocracy is the difficulty. The speculation that we’ll precise stuff of us into the pipeline assumes a meritocracy that would not exist.”

Whereas you identify like web pattern, it’s possible you’ll most doubtless well additionally learn the same issues KodeWithKlossy and SheCodes teachs (and formulation more) at freecodecamp FOR FREE.

Now, there are programs which I establish judge are doing a agreeable job at introducing minorities in computer science to what computer science really is. Jane Steet has programs ranging from about a days to about a weeks teaching ideas like OCaml, likelihood, arbitrage, and even some exchange ideas!
From their INSIGHT program:

Within the instrument engineering program, college students will learn about OCaml and the libraries and tools that we expend in our on a every day basis work, as successfully as the basics of establishing electronic trading programs. Then, they’ll put these tools to expend by writing the backend and UI for a computer sport and a program that trades on a simulated stock exchange.

I love their focus on the expend of a functional programming language like OCaml, their point to of libraries (wanted), tools (additionally wanted) and additionally financial ideas (which I never bought to learn and quiet have not). These matters are not easiest tidy attention-grabbing, but involve matters in computer science like notify fixing, increasing examined and sturdy programs (you would hope a trading system works accurately!) and involve the expend of craftsmanship that will most doubtless also be put in on any working system. This system additionally mentions learning in regards to the backend (which many bootcamps/programs develop not seem to dive into). Oh and to my files, this program is additionally freed from fee.

I judge that computer science desires to be taught the same turn out to be once as chemistry, biology and physics, for youthful childhood. Finding out physics would not point out you’re a physicist, and that ought to turn out to be the norm with computer science. Furthermore, when teaching a baby science, you develop not originate throwing formulas and abstract ideas at them, you originate off with examples and discuss scientific discoveries. Furthermore, computer science ought to quiet not precise be taught as HTML and JavaScript; we desire to additionally discuss its ancient past. Honest accurate like how we learn in regards to the devices of the atom and assorted acid base theories in chemistry in junior excessive and excessive faculty and then utilize devices just like the valence bond principle and hybridization in university, I judge we ought to quiet learn that computing begins from the whole formulation to the invention of the abacus, to human “computers” in WWII. Adolescents and youthful college students ought to quiet notion the inducement for learning about sure ideas in computing and how they took location. What precisely ought to quiet and mustn’t be covered though is for someone else rather more wanting to bewitch (not me).

But computer science is additionally math; it’s on the total utilized math, so we ought to quiet additionally divulge computer science in a identical formulation that math is taught. As soon as youthful college students learn more in regards to the ancient past of computer science, learning the math at the aid of computer science like recursion, graphs, working programs, compilers and more will enable them to fabricate connections in what they learned after they had been youthful. I judge the university curriculum at UBC is incandescent upright, but I’m not abundant at all to bewitch that. This could of been the path to computer science I wished to take. If truth be told, divulge computer science like a science to youthful childhood, and then divulge computer science like math to older childhood.

budge aid to the weblog

Read More



β€œSimplicity, patience, compassion.
These three are your greatest treasures.
Simple in actions and thoughts, you return to the source of being.
Patient with both friends and enemies,
you accord with the way things are.
Compassionate toward yourself,
you reconcile all beings in the world.”
― Lao Tzu, Tao Te Ching