Hardest Computer Science Course Explained | Angel of Death UoG

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ก.ย. 2024
  • Since you guys really liked the last computer science video I decided to talk about my hardest CS course, nicknamed the "angel of death" at my school. It has a notoriously high fail rate for its assignments. You can expect to write a few thousand lines of C code in the first two assignments. This year we made a GEDCOM parser (which is actually what ancestry.com uses) to store information about family histories, allowing us to perform operations on family connections. In the second assignment we wrote a GEDCOM file writer, to create a GEDCOM file out of the memory objects. In the third assignment we used Node js and express to create a RESTful web server and UI for interacting with our parser. I tried to explain the file structure as best I could in a few minutes, so it will probably be very confusing to watch at first. The goal is to show you the complexities of the file structure, and how we built this web application to interface with our C API. This is basically how large scale cloud computing applications are made such as TH-cam and Facebook.
    GEDCOM Standard: edge.fscdn.org...
    The point I want to make is that this course is not as "hard" as everybody makes it out to be. Just dedicate at least two weeks to the assignment and you will be fine. None of the algorithms or data structures were difficult, rather it was the massive amount of errors possible when writing such a parser from scratch. There are thousands of tags and conditions if you want to create a full parser and identify everything listed in the standard. Thankfully we only implemented about half of the full parser seen on the standard (link above).
    || Technologies used ||
    GEDCOM Parser API:
    - C
    Web server:
    - Node js with express framework
    - RESTful server, ajax, JSON
    - JavaScript
    Client:
    - HTML, CSS, JavaScript, Bootstrap
    Next Video: • DIY LED Music Visualiz...
    Previous Video: • Video
    Social
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    Website: devoncrawford.io
    Twitter: / devoncrawford13
    Snapchat: / devoncrawfordyt
    Instagram: / devoncrawford_
    Github: github.com/dev...
    Discord: / discord
    Gear
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    - Video Editing Software (Premiere Pro CC): prf.hn/l/BOomWo3
    - All Adobe Apps (I use this plan): prf.hn/l/Xv5qk5Q
    - Keyboard (Velocifire TKL01): amzn.to/2AQTjJQ
    - Monitors (Dell U2518D) : amzn.to/2AQQmco
    - Webcam (Logitech C920): amzn.to/2Cw588c
    - Desk Microphone (Blue Yeti): amzn.to/2FPFmzi
    - DSLR (Canon T7i): amzn.to/2T54mpZ
    - Wide Lens (Tokina 11-16mm F2.8): amzn.to/2MlpvcO
    Music
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    lzr - ride (ft. NIGHT GRIND)
    Link: / ride-ft-night-grind
    cresce - Top Down ft. AUFL (produced by Cresce & Haelen)
    Link: / top-down-ft-aufl-produ...
    lux natura - gravity well
    Link: / gravity-well
    Late June - Balcony [ep/tape]
    Link: / balcony
    Late June - You & I
    Link: / you-i

ความคิดเห็น • 2.6K

  • @jhierry
    @jhierry 5 ปีที่แล้ว +367

    As a senior software engineer this project would be a sprint (2 weeks) at least. Learning to do all that stuff for the first time in addition to other classes and "college stuff"... Hot damn. Stay determined, and don't forget all the people that contribute to helping you.

    • @BitwiseMobile
      @BitwiseMobile 5 ปีที่แล้ว +32

      A sprint for a team of 6 sure. That's a lot of code to ask one engineer to write in 80 hours. I've got about 25 years in with 15 or so of the last years in agile/xp/lean.

    • @shugyosha7924
      @shugyosha7924 3 ปีที่แล้ว +6

      A 100 page format specification in a single sprint? No way man. In a real world corporate setting I think just the web interface alone would take 2-3 sprints. You've got requirements gathering, design, testing, integration, deployment, etc. If you rushed it you'd just be asking for issues. (Assuming a single person)

    • @andrewhooper7603
      @andrewhooper7603 10 หลายเดือนก่อน

      As much as demonstrating understanding is important, I wish *how* you fail was also something taken into account.

  • @GiZzFloW
    @GiZzFloW 6 ปีที่แล้ว +4407

    This makes my CS course look like a crayon drawing class

    • @maswalhol
      @maswalhol 6 ปีที่แล้ว +260

      Yeah... We wrote a program sorting vowels from consonants...

    • @faranm468
      @faranm468 6 ปีที่แล้ว +149

      I'm in AP CS...it IS a crayon drawing class.

    • @ryu________
      @ryu________ 6 ปีที่แล้ว +2

      same lol

    • @shougarifi8336
      @shougarifi8336 6 ปีที่แล้ว +2

      Mason Holder same !!! 😂

    • @morganwilliams6688
      @morganwilliams6688 6 ปีที่แล้ว +35

      AS computer science (first year college U.K.) is literally a crayon drawing class

  • @aresye
    @aresye 6 ปีที่แล้ว +4275

    Computer science student...
    ...externally records PC monitor...
    ...why?

    • @TheMyleyD
      @TheMyleyD 6 ปีที่แล้ว +560

      aresye just his style of video making/editing.

    • @DarkSwordsman
      @DarkSwordsman 6 ปีที่แล้ว +565

      I think it's better. You can still read everything and it's more interactive and natural, making me focus on the content more.

    • @ddmozz
      @ddmozz 6 ปีที่แล้ว +238

      This is not an actual tutorial. I think it's better this way, a screencast is not necessary in this case.

    • @interr5875
      @interr5875 6 ปีที่แล้ว +49

      less work bro... U hav 2 be fast at programmin'

    • @ducksoop.x
      @ducksoop.x 6 ปีที่แล้ว +125

      This isn't a coding tutorial, chill.

  • @mykelfam6984
    @mykelfam6984 4 ปีที่แล้ว +744

    It's interesting how the more I progress in programming, the more things I understand in these videos.

    • @lagseeing8341
      @lagseeing8341 4 ปีที่แล้ว +44

      Same, it's great knowing how much I advanced in programming since the first time that I watched this video.

    • @njpromethium
      @njpromethium 4 ปีที่แล้ว +12

      @@lagseeing8341 just watching this and I also felt the same, Only like 6 months ago I didn't understand half of what he's saying. It's a really cool feeling and it also motivates me to learn more and more.

    • @ASTRO_NAUTIKAL
      @ASTRO_NAUTIKAL 4 ปีที่แล้ว +3

      REALLY NO WAY

    • @radu6772
      @radu6772 4 ปีที่แล้ว +3

      What is intresting in that

    • @jeremiahsmith4134
      @jeremiahsmith4134 4 ปีที่แล้ว

      Same

  • @MrPhoinixFlame
    @MrPhoinixFlame 6 ปีที่แล้ว +502

    I think the youtube algorithm found you more interesting recently. For me you just appeared yesterday, and I have found your content quite enjoyable. Thank you for good interesting content.

    • @0ejder0
      @0ejder0 6 ปีที่แล้ว +4

      That algorithm shapes according to you. So there was just happened to be demand for computer science student life vlog i guess.

    • @eonstar
      @eonstar 6 ปีที่แล้ว

      +Yunus Güngör Jarvis?

  • @jackklnet2458
    @jackklnet2458 6 ปีที่แล้ว +496

    Dude, you bring back soo many memories. I used to watch your Minecraft videos back in the day. And here I am today, also a dying CS student.

    • @mhnfarmer9499
      @mhnfarmer9499 6 ปีที่แล้ว +2

      yo one question! How much math is really needed in CS?

    • @mhnfarmer9499
      @mhnfarmer9499 6 ปีที่แล้ว +2

      holy fuck thanks man

    • @xavierssounds3232
      @xavierssounds3232 6 ปีที่แล้ว

      We're all dying as CS students

    • @eugenehuerta9691
      @eugenehuerta9691 5 ปีที่แล้ว +1

      @@mhnfarmer9499 After Calc I and II.. linear Algebra... then u would do CS Discrete Math.. as an intro.. then Algorithms.. After that you would probably be required to do a more advanced Discrete Math that is pretty much theoretical computer CS that deals with state machines.. Languages, alphabets in mathematical terms... etc..

    • @Claw100Minecraft
      @Claw100Minecraft 5 ปีที่แล้ว

      No way me too I used to watch his Minecraft videos and now here I am back studying CS

  • @SOSA1beast
    @SOSA1beast 6 ปีที่แล้ว +319

    It’s 2am ... I have no idea what I am watching ... What am I doing.

    • @MrZwergziege
      @MrZwergziege 6 ปีที่แล้ว +3

      that's very on point. thx for waking me up. g'night

    • @asif_mojtoba
      @asif_mojtoba 5 ปีที่แล้ว +4

      It's 3.18 AM here; and, yeah, same feeling. Same shit!

    • @spyrex3988
      @spyrex3988 4 ปีที่แล้ว

      Nigga sleep (wait I just realized it's one year old comment, RIP me)

    • @kiriInvestigator4597
      @kiriInvestigator4597 4 ปีที่แล้ว +1

      Capitalism is getting at you. Let us work on dismantling it. Replace it with Resource based economy.

    • @edboss36
      @edboss36 4 ปีที่แล้ว

      How do I fix this problem?

  • @hassanalzaher3893
    @hassanalzaher3893 5 ปีที่แล้ว +241

    when you said parsing I thought the assignment is to build a freaking compiler.

    • @cgme7076
      @cgme7076 5 ปีที่แล้ว +23

      That's what I thought. When he prefaces it with the word "hardest" and then mentions a parser, it's safe to assume he's talking about writing a compiler.

    • @notkamui9749
      @notkamui9749 5 ปีที่แล้ว +35

      @@cgme7076 it is, more or less, a compiler.
      It gets a file written in a specific "language", parses it following rules, tells if there are errors in it, and then outputs a file that is understandable by a "computer" (in this case, we can assimilate it to the server)

    • @unholy1771
      @unholy1771 5 ปีที่แล้ว

      Imagine that lol

    • @wi1h
      @wi1h 5 ปีที่แล้ว +2

      making a compiler actually isn't that bad, i had to do that for my final project as a second semester freshman (binghamton university)

    • @rban123
      @rban123 4 ปีที่แล้ว +1

      I have to take an entire class called compiler theory and design where we do build compilers

  • @colonelgraff9198
    @colonelgraff9198 5 ปีที่แล้ว +327

    Got a Comp Sci degree almost 20 years ago, and a Masters in Data Science 2 years ago.
    Sorry but this assignment is bullshit. There’s the difference between teaching concepts and showing mastery of the material, and busy work. The professor strikes me as someone who is protected by tenure, has a massive superiority complex, and takes out everything bad that happened in his life on his students. You are spending longer on your assignments than I spent on my Masters thesis that I got a perfect score on. This isn’t learning, its stealing thousands of dollars of your money and hundreds of hours of your time to do busy work.

    • @Dylan-xc8yz
      @Dylan-xc8yz 5 ปีที่แล้ว +57

      Very much agreed.
      Nothing would be inherently difficult, if you knew the language. It's really bloated. Could have been a shorter project while still showing knowledge of concepts and the language.

    • @DisDatK9
      @DisDatK9 5 ปีที่แล้ว +88

      Colonel Graff exactly. As a grad student for CS with a bachelors in theoretical mathematics, it’s obvious that this assignment is just a massive load of work that doesn’t require much analysis or critical thinking, and the fact that students can’t spend 90 hours a week on one assignment for one class is why the failure rate is so high. I’m sure the professor takes that as a huge sense of pride too, “oh yea my class is so hard that only 50% can pass.” It’s not hard, it’s extremely time consuming.

    • @gspbirel56
      @gspbirel56 5 ปีที่แล้ว +16

      I would probably put this project more in the realm of software engineering than computer science. Why? Well, it is very much application-oriented and demonstrates the student's ability to achieve something. As an undergrad student in computer science, I think the smart way to go is to reference the manual rather than read the entire thing. I understand your point, though, as one of my professors forced my class to use functional languages for a homework assignment after discussing it in class once for 5 minutes, with no examples, no context, and no reference.
      To be fair, we don't know how the class is structured, or what the previous experience is. Maybe his curriculum covers creating REST APIs in C. (I sure as hell know mine doesn't.) I really think it's neat how it's a web service that does parsing and will do data storage on the backend. The only busywork I can see here is refactoring from the memory-stored struct list to the database queries, but that's largely going to be as large of a design change as it will be implementation, hence why I say it's a software engineering project.
      But I mean, what do I know.

    • @ryanfernandes3937
      @ryanfernandes3937 5 ปีที่แล้ว +22

      As a guy with a dick watch me do the helicopter, weeeee weeeee

    • @bussin1337
      @bussin1337 4 ปีที่แล้ว +2

      @@ryanfernandes3937 rofl

  • @aethro4375
    @aethro4375 5 ปีที่แล้ว +67

    Lil'Pump: *Racks on Racks on Racks on Racks on Racks on Racks on Racks on Racks....*
    Programmer: *Stacks on Stacks on Stacks on Stacks on Stacks on Stacks on Stacks on.....*

  • @SpooningTreesap86
    @SpooningTreesap86 2 ปีที่แล้ว +6

    It's funny, I saw this video when I was in my freshman year of CS and everything was way over my head and I was in awe. Fast forward to today, I graduated this past year and this doesn't phase me as it did before, after going through my own rigorous courses and experiences. Just crazy how fast time can fly and how things that once seemed impossible aren't anymore.
    Also rip don't know what happened to Devon seems after 2 1/2 years from his last video he's vanished

  • @joelgrayson3774
    @joelgrayson3774 4 ปีที่แล้ว +14

    Devon: 101-page GEDCOM tutorial
    Me: *Hello world*

  • @petter9078
    @petter9078 6 ปีที่แล้ว +1197

    But is this really hard though? It seems to me like its just a hell of a grind. Just takes shit loads of time, which is by no means bad. But you won't learn anything new by parsing shit tons of stuff for hours upon hours.

    • @FreedomOfTħought
      @FreedomOfTħought 6 ปีที่แล้ว +438

      This is exactly what I was thinking. I'm reading loads of comments on this video about how they are developers and they find this so hard etc. but isn't this just a bunch of linked objects? I mean, I'm not familiar with GEDCOM, but from what he was explaining it just seemed like there were a bunch of multidimensional arrays containing objects and those objects contained references to other objects etc.
      As you said, it seems like this is more of a tedious task rather than a difficult task.

    • @derogatory1853
      @derogatory1853 6 ปีที่แล้ว +167

      Petter it's pretty tedious, But generally that's the reason it's hard. Because of the process alone, Doing this consistently with time limits for long periods of time would be pretty taxing mentally.

    • @thatoneguy9153
      @thatoneguy9153 6 ปีที่แล้ว +230

      This is in no way difficult... UNLESS you are not organized and good at design. This is all very simple programming but deep design. Yes it is simple, but organizing stuff like this is what makes you the big bucks in the real world. If I was in school this would have been hard. Now that I have programmed/designed for 5+ years I could do this in one evening.

    • @petter9078
      @petter9078 6 ปีที่แล้ว +9

      Good answer! This makes sense. Thanks for the input.

    • @derogatory1853
      @derogatory1853 6 ปีที่แล้ว +47

      ThatOneGuy That sounded pretty dumb sorry to say, With 5 + years generally that'd make majority of tasks easier in any field. But I'm pretty sure when you're taking the course you don't already have that much experience lol. Isn't that just common sense?

  • @mind.journey
    @mind.journey 6 ปีที่แล้ว +16

    OMG Devon I remember helping you on Twitch with your first game ever trying to understand the A* algorithm. Those were good times!

    • @DevonCrawford
      @DevonCrawford  6 ปีที่แล้ว +6

      Woah... That was the first time I've ever coded 😂😂 feeling so nostalgic

    • @mind.journey
      @mind.journey 6 ปีที่แล้ว +2

      Yeah I remember 😂 Btw you grew up so fast on your coding skills!

    • @DevonCrawford
      @DevonCrawford  6 ปีที่แล้ว +5

      I actually went back and made an A* visualization in java the year after.. check it out on my GitHub!!

  • @Blueee51
    @Blueee51 6 ปีที่แล้ว +400

    you went from having 3.4k to 8.2k in like a week or so

  • @PitouTV
    @PitouTV 5 ปีที่แล้ว +30

    i remember doing this, fucked up the very first program and it kinda screwed me for the whole semester. ended up pulling a b out of it due to my reports being so high quality it showed i knew the theory, just not the practical, and the final exam was like 40% of my grade and aced it

    • @overanalyzing
      @overanalyzing 5 ปีที่แล้ว

      .legit

    • @MrCTruck
      @MrCTruck 5 ปีที่แล้ว +1

      Yeah boi get the Ebread

  • @Sectromax
    @Sectromax 6 ปีที่แล้ว +32

    Gonna start university this September and I'm studying Computer Science. This video got me so hyped, I can really feel your passion for it! Subbed :)

    • @GoobNoob
      @GoobNoob 6 ปีที่แล้ว +12

      you do nothing close to this in first year.

    • @XenoContact
      @XenoContact 6 ปีที่แล้ว

      Good luck man

    • @SamuelHauptmannvanDam
      @SamuelHauptmannvanDam 6 ปีที่แล้ว +10

      You're*
      I'm just fucking with you.

    • @z1lla4
      @z1lla4 4 ปีที่แล้ว

      @@GoobNoob truuuuuuuuuuuuuueeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 😂😂😂👌 I tried to get my general ed done first and it pushed me back. I'm barely entering my required classes besides math and this video looks insane to me

  • @noahdacheese839
    @noahdacheese839 5 ปีที่แล้ว +2

    I go to Guelph for ZOO and MBG double major. Didn't know we had a reputation for a rough coding class damn. Also really happy to see a TH-camr I enjoy from Guelph! 😊

  • @Ger325is
    @Ger325is 4 ปีที่แล้ว

    Great advertisement for taking Computer Science at the University of Guelph. Everyone wants to go to Waterloo, U of T or McMaster out of high school but it's good to know that quality people like you are going to less well-known CS universities and doing so much. Great job, really enjoyed the video.

  • @ScottSaysStuff
    @ScottSaysStuff 6 ปีที่แล้ว +5

    You will definitely learn a lot more by teaching the material. Love the music in the background, but I would suggest sticking to non-lyrical stuff. Keep it going man.

  • @corriedotdev
    @corriedotdev 6 ปีที่แล้ว +213

    did you really blur out the port at localhost.. or is it just low res. because im dead right now if you did

    • @noluck666
      @noluck666 6 ปีที่แล้ว +66

      he gives no chance for you to hack him lol

    • @plamennikolaev6677
      @plamennikolaev6677 5 ปีที่แล้ว +24

      it's 35725

    • @--_9623
      @--_9623 5 ปีที่แล้ว +2

      What is it for??

    • @bjarnestronstrup9122
      @bjarnestronstrup9122 5 ปีที่แล้ว +64

      @@--_9623 It's a open port for his Minecraft server.

    • @marc-alexandrelaroche6632
      @marc-alexandrelaroche6632 5 ปีที่แล้ว +1

      @@bjarnestronstrup9122 No, it's his thing to work. Not Minecraft.

  • @sheriffcrandy
    @sheriffcrandy 4 ปีที่แล้ว +9

    Why am I here I'm still learning how to use nested for loops by making cute little asterik shapes hahaha

  • @melodysammy
    @melodysammy 5 ปีที่แล้ว +7

    Watching your video instead of studying for my C programming final on Tuesday

  • @PhilipGernert
    @PhilipGernert 4 ปีที่แล้ว +3

    I literally don’t know anything about computer science but I’m intrigued by your video

  • @darkwoodmovies
    @darkwoodmovies 10 หลายเดือนก่อน +1

    Low-key looks fun, but my gripe is the way the professor makes you read the spec. Like you can sum it up or link to the Wikipedia version or something. Today, you can probably get it summarized by ChatGPT. But besides that BS, it looks pretty complex but straightforward unless I'm missing something? Looks really really fun to work on though, I think I would love this class haha

  • @GIBunz
    @GIBunz 5 ปีที่แล้ว +8

    I honestly just got tired of jumping through hoops and did IT instead, there's no way I would've met the 3.0 requirement for graduate school, I would've gotten a 2.8 or something and never picked up software dev ever again.

    • @DawsonJBailey
      @DawsonJBailey 5 ปีที่แล้ว

      As someone really trying to get into grad school I fucking wish I only needed a 3.0. All the research I've done says that having below a 3.5 automatically puts your application in a "maybe" pile to go through after they look at everyone else who got higher.

    • @PowerTheSerge
      @PowerTheSerge 5 ปีที่แล้ว

      I'm heading down that path too 😂

  • @PWingert1966
    @PWingert1966 5 ปีที่แล้ว +1

    Cool course. I love my compilers and interpreters course. I love my operating systems course even more 49 People co-operating to get an entire operating system working in a virtual machine on a mainframe on os/vm in 1987. All tools utilities and the ability to compile and run applications in C. That was a hoot. The course I had problems with were the formal language theory course and the mathematics of computation (Damn turing machines). They were all proof by induction on non-numeric constructs. They were my Angels of death. I dropped them first week when I got the textbooks and took replacement courses that I could do. Its important to know what you are not good at.

  • @edwardbsa
    @edwardbsa 6 ปีที่แล้ว +892

    Man I thought my CS classes were hard ..LOL

    • @xXxOmarSanchezxXx
      @xXxOmarSanchezxXx 6 ปีที่แล้ว +85

      Edward Sa CS classes arent to bad. theyre just time consuming. Its the math vourses that you have to take that really get you. Im taking a discrete math course for cs and its a nightmare

    • @TehGettinq
      @TehGettinq 6 ปีที่แล้ว +12

      i did discrete math last session, for me the worst is really the "logical and mathematical proofs" course that is a killer (this course followed discrete math course at my uni. Also the "Advanced conception and analyze of algorithms" is a hard one ive heard, havent took it yet tho.

    • @eddiekoski
      @eddiekoski 6 ปีที่แล้ว

      What textbook are you using?

    • @edwardbsa
      @edwardbsa 6 ปีที่แล้ว +4

      people.eecs.berkeley.edu/~vazirani/algorithms/chap8.pdf you can change the chap # in the URL for other chapters!

    • @Iguinho-
      @Iguinho- 6 ปีที่แล้ว +9

      Counter Strike classes? Kappa

  • @roque-au-parcus
    @roque-au-parcus 5 ปีที่แล้ว +3

    Sorry, this doesn't look like a hard program to write, even at the college level. Follow the spec, break the problem into small pieces, and you're good to go.
    What's actually challenging in CS? Writing algorithms without googling them, understanding how program lives on the underlying hardware, and not waiting till the last minute to do your homework.
    Also, why would you blur a local port?

    • @ballsy8713
      @ballsy8713 5 ปีที่แล้ว

      are you on r/iamverysmart , asking for a friend

    • @roque-au-parcus
      @roque-au-parcus 5 ปีที่แล้ว +2

      @@ballsy8713 The point is I don't like how this guy makes CS sound so difficult because it will undoubtedly discourage a few people from pursuing a awesome, rewarding career.

  • @danielkabakov
    @danielkabakov 5 ปีที่แล้ว +23

    Normal people (see): 1 0 0 0
    He: "oh my god, so many children !!!"

  • @Tombi432
    @Tombi432 5 ปีที่แล้ว +1

    The University where I did my Masters degree in CS with focus on game developent was heavily pracitcal orientated and less theorethical so assignments like these were the standard. Although the amount of assignments always was tight, the University I graduated was quite easy for me because they focused more on assignments than on exams. I absolutely hate exams and always prefer assignments over exams.

  • @MegaRaja54321
    @MegaRaja54321 6 ปีที่แล้ว +10

    Could you show us around the campus? That'd be awesome

  • @Orxan1993bdu
    @Orxan1993bdu 6 ปีที่แล้ว +6

    Nice video. The hardest CS course i have ever had during Bachelor's degree (at University of Waterloo) was Real-Time Programming (CS452). First assignment, you have to get toy trains moving. Next assignment, implement a microkernel basics such as context switching and 5 basic system calls to make your microkernel working. Then build a game on top of these system calls. And so on. You basically build your own microkernel from scratch. Documents to read? Whole freaking ARM assembly manual. Search for this course on youtube and you will see some good stuff. ;)

    • @fandemagie1
      @fandemagie1 5 ปีที่แล้ว

      assembly is fun xD

  • @orestes_io
    @orestes_io 6 ปีที่แล้ว +1

    Nice video. I like to see somebody go over their assignments like this, hopeful and determined :). I didn't fully get the time allocated for each section, but the actual tasks look that daunting, honestly. But hey, you seem to have a pretty good grasp on the concepts. Constructive suggestion: Use a screen recorder instead of recording the monitor. It looks like you're masking your port numbers, which probably takes you some time when editing the video, but I can't really understand why.

  • @naisanza
    @naisanza 6 ปีที่แล้ว

    This is great man. This is some refreshing quality content. Great explanations, great soundtrack, good cuts, just over all relaxing to enjoy!

  • @joeytyndale
    @joeytyndale 6 ปีที่แล้ว +23

    THIS is the channel I have been looking for! Yes, thank you!

  • @the8bittoaster103
    @the8bittoaster103 5 ปีที่แล้ว +13

    I saw the GEDCOM Parser part while I was looking for a python Highschool Project and I was like "wow! Thats a great idea". At least, I have a month to do it instead of 3 days. Wish me luck
    EDIT: Update if you were wondering. I finished the GEDCOM Parser

  • @asdfkerub
    @asdfkerub 6 ปีที่แล้ว

    Good stuff man. I've been programming for a few years now. I didnt go to school, but was self taught and went to a bootcamp. Learned a lot myself. Gj man.

  • @quadlineboarder
    @quadlineboarder 6 ปีที่แล้ว

    Man, sounds rough. I thought I had it bad. I really struggled in school, luckily in the real world everyone's on the same team and you want your coworkers to succeed, so it's much easier to improve

  • @datboi_gee
    @datboi_gee 4 ปีที่แล้ว +7

    When he was describing the first project my first thought was "Oh that's simple. Just a three dimensional array of arrays. And custom classes."
    But that's programming for ya. Programming is the only field I know in which tasks can he both ridiculously complex and simple simultaneously. And by that I mean everything can be deconstructed in very simple logical pseudo code, and nothing is inherently difficult -- but getting to that place is complex in and of itself because you first have to organize the workflow of your code. You HAVE to know not only what is asked of you but how to arrive at A solution before you can troubleshoot how to arrive at a BETTER solution, and in working through this process you can only hope you stumble upon the BEST solution. But if you don't go through this process adequately, you're in for 3 AM spaghetti code nightmares. Legitimate nightmares. I'm talkin' s'ghetti without the sauce.
    These are neat projects. It reminds me of my time doing competitive programming. My prof had us compete in a national level programming event, of which he must have prepared us remarkably well for because all four attendants from my school made it into the top 8 of the state level event, of which we qualified by all taking the top 4 positions of the regional event. He hadn't ever taught a class before us -- having just moved out of the dev field and into teaching -- but he must have been fucking phenomenal all things considered because our results spoke for themselves. The four chosen to represent our district he chose simply by assessing the technical ability of each student, and his respect for this advancement over the remainder of the class manifested itself when he decided to give our group significantly harder assignments than the typical assignment. Meaning he was intent on honing our abilities as software engineers, which is something I love him for. Phenomenal. And on top of the more difficult workload, he had us competing daily on TopCoder to push us in preparation for the national event.
    There is a point to this story, though. The point is that I hate SQL databases to this day because of that competition. As I stated above, the four of us managed to take places within the top 8 of states which, alone, is respectable -- but we managed to do so without ever being taught SQL and having a segment of the competition require SQL knowledge. Which even caught our prof by surprise. He was under the impression that SQL was a secondary language and not the primary language of the competition, and as such he didn't think to prepare us for SQL implementation. Thus we all took one to the chin when they asked us to code SQL, and our prof was visibly upset with himself that he didn't think to teach us about it.
    From that day forward I hated SQL. Actually to this day I never touched it. Never learned how to use it. And though I should, and I probably inevitably will, I just dislike it simply by proxy of that day.
    TLDR fuck SQL and love pseudo code planning phases. Sorry for the rant. Just brought back memories lol.

  • @blbrookscom
    @blbrookscom 6 ปีที่แล้ว +7

    I think the difficult thing about this course is that it seems to mimic a situation you will find yourself in after you graduate a job. Its not about complex algorithms, or concepts but more along the lines of dealing with a specification and writing code to the specification. Its about bothering to realize that the work is going to consume time and dealing with managing that time well. I've worked with many programmers who had very poor time management which makes things much more difficult for anyone else on their team in the real world. I think the course could be more difficult if they added in a group aspect with the professors writing segments of code that work but are difficult to understand not commented and are given to you a day prior to the assignment being due.

  • @brandonc8792
    @brandonc8792 3 ปีที่แล้ว

    I know this video is old but when you said seg faults it gave me shivers

  • @Chris-wi5qv
    @Chris-wi5qv 6 ปีที่แล้ว

    For one of my senior computer engineering classes we had to implement a command line monitor program, along with a bunch of handlers and stuff, that was to be run on a Motorola MC68000. While it doesn't sound too terrible, the entire program had to be written in assembly specifically for the 68K. Everything was in assembly. Outputting to the monitor (the actual screen monitor) required about 30-40 lines of assembly code (all of the interrupts and such), and this code was present whenever you wanted to do basically anything. I believe I had about roughly ~10k lines of code (including small comments for the assembly), along with a 60 page documentation on every method, jump, etc. It was the most intense class I'd ever taken.

  • @boahgeil465
    @boahgeil465 6 ปีที่แล้ว +177

    60% fail rate??? Is this a joke? At technical universities here in germany we have well over 90% fail rates in certain math classes (for cs students )

    • @canyounot4665
      @canyounot4665 6 ปีที่แล้ว +135

      no wonder german uniervsites aren't ranked high worldwide, you guys seem to have apissing contest about the rigor of your classes that your students don't even end up actually learning anything?
      put high school students in an advanced math course and it will have a very high fail rate, and the few students that pass probably end up memorizing everything to pass the classes. they don't actually learn anything

    • @boahgeil465
      @boahgeil465 6 ปีที่แล้ว +32

      CanYouNot No, 3 german Universities are in the top 50 worldwide. Plus, german Abiturienten are much better educated in math than High school graduates because we have 3 different High school Types so bad students dont do Abitur.
      You dont really know shit if you think you can pass our math classes by memorozing haha... You have to think, do mathematical proofs etc which have Not been taught in classes like that. That way you have to fully understand the math and Not memorize like at your unis

    • @canyounot4665
      @canyounot4665 6 ปีที่แล้ว +23

      I studied abroad for a year at a german uni, you got the people who are smart and the people who just memorize their way to their degree, it is just as easy to regurgiate what you have seen in lectures onto an exam @ a german university. and which 3 schools are ranked top 50? from what I can see online the highest ranked one is "Technische Universität München" and that is ranked #60 worldwide (which imo is pretty bad if that is your countries BEST).
      And why do you mention high schoolers being more educated? I was just using that as an analogy, I didn't say anything about high school education in germany. germany doesn't have many schools ranked high, that is for a reason, they value memroization more so than critical thinking

    • @Fireninja747
      @Fireninja747 6 ปีที่แล้ว +1

      I'm pretty sure UW and UofT CS courses on avg have this kind of fail rate.

    • @CoCoSamba1
      @CoCoSamba1 6 ปีที่แล้ว +12

      @@hirakaiko5570 actually the official purpose of unis in Germany is research. The student thing is on the side and has really low budget compared to the research parts. I don't think the math is more difficult, we just don't get any support from anywhere and we are literally just a number of thousands. For example my uni has 40000 students and I don't get any support. So that makes it really difficult. I'm now in the third semester of informatics and I hadn't had one exam where the failing quote was below 40%. Normally it is around 40 - 60%. Because education is free here and there is no minimum grade to enter informatics they try to kick out at least half of the people in the first 1-2 semesters. The uni simply doesn't have the budget to get more than 50% of the students through.

  • @memo.durazo
    @memo.durazo 5 ปีที่แล้ว +1

    I love watching these videos because it reminds me of my days in school... I miss it now 😭

  • @amentitm7420
    @amentitm7420 6 ปีที่แล้ว

    Okay so I randomly found your video about "3 years of computer science in 8 minutes" I watched half of it and went to bed because it was 3 AM and as I remembered you had 90K subs yesterday (correct me if I'm wrong lol). So this morning I woke up and continued the video, while doing so I literally witnessed your subs going from 90K to a 100K. What type of sorcery is that lol. I subbed

  • @schmidt1338
    @schmidt1338 4 ปีที่แล้ว +34

    Passes hardest CS course, records screen with camcorder

  • @N8DZN
    @N8DZN 6 ปีที่แล้ว +62

    Watch the whole thing
    Didn't understand

  • @aliniuspowers702
    @aliniuspowers702 6 ปีที่แล้ว

    Keep pumping this content out ...I will be a devoted subscriber

  • @alssndria
    @alssndria 3 ปีที่แล้ว

    I don't want to regret that I enrolled in my university, paid a lot of shit and just to see your videos and actually learned quite a lot from them.

  • @ShaoVideoProduction
    @ShaoVideoProduction 5 ปีที่แล้ว +26

    60%, and that is supposed to be your angel of death?

  • @duduken20
    @duduken20 6 ปีที่แล้ว +5

    We need to see more of the robot project! Pretty please!

  • @plourenco
    @plourenco 6 ปีที่แล้ว

    I study CS in Portugal and also had some really hard courses. I mostly remember my Artificial Intelligence course, which included 5 assignments over 6 months, where we had to make an "artificial" player to always win a game, using algorithms such as MinMax; and other naive solutions such as performing BFS and DFS on the possible combinations. But FIVE DIFFERENT ASSIGNMENTS!! Another one for the top hardest should be data analysis, respectively, regression analysis to predict the amount of products required to prevent over or under stock for a retail company which previously provided over 10GB of historical data. I must say, I went through a lot but I learned so much that I really trust CS courses are evolving to create top notch engineers.

  • @johnmadsen37
    @johnmadsen37 6 ปีที่แล้ว

    All you described sounds like fun. These types of classes are where you get to the point of making something productive. I loved all my cse classes. The rest, well, besides economics, very few mathematics ,and some accounting shit for obvious practical reasons, where just busy work.
    I actually looked up the textbooks used in the courses and got them and had kept 1-2 semesters ahead. So it makes all the cs classes a practice of what you already know instead of not knowing. Being ahead is fun. Life is a race. The smartest are the quickest. Just look around.
    For fun, add some visualization for those graphs.

  • @SirMrMcMsMrs
    @SirMrMcMsMrs 5 ปีที่แล้ว +29

    If this is the hardest CS course available, then clearly you've never taken (or have available):
    1. Information Theory
    2. Formal Languages and the Theory of Computation
    3. Any post-introductory Machine Learning course

    • @DawsonJBailey
      @DawsonJBailey 5 ปีที่แล้ว +15

      Ok I just finished taking Formal Languages and the Theory of Computation and, yes it was fucking hell and I'd much rather do coding stuff like this, but you're comparing apples and oranges man.

    • @The24Hiya
      @The24Hiya 5 ปีที่แล้ว

      All of these topics are fun as hell, I'd much prefer learning CS theory to writing thousands of lines of C code.

  • @pm71241
    @pm71241 6 ปีที่แล้ว +12

    There's a difference between being hard because it's just a huge task ... or because it's really difficult to understand.
    Reading standards and writing parsers are not hard to understand... but sure... having a 100 page standard (wonder if that's necessary in this case) will keep you busy for a long time.

    • @sssstupidkid1234
      @sssstupidkid1234 6 ปีที่แล้ว

      its all a matter of keeping people busy...

  • @sunnohh
    @sunnohh 5 ปีที่แล้ว +1

    This is incredibly practical in the real world, it makes me want to go back to college and get a degree in cs.

  • @baubach9834
    @baubach9834 4 ปีที่แล้ว +1

    I starting watching your videos before taking C++ classes, now that I've taken them I am re watching your videos and everything seems so different hehe.. Before I didn't have any clue of what you were talking about, now at least I have a clue, so let's see next semester when I start taking C and go to really low level classes, I will re watch it again hehe to see what is my new perspective haha

  • @chinaboytag1
    @chinaboytag1 6 ปีที่แล้ว

    This might just be the most thorough Comp Sci program that I have ever seen. Looks like a pain in the ass, but damn I wish the Comp Sci programs in my state were this good. Instead, I have to spend more time explaining to my profs why their own code doesn't work than working on my own. I wish this wasn't the case, but sadly most of them have next to no knowledge of what they are doing and were originally math profs and such.

  • @kevinstefanov2841
    @kevinstefanov2841 5 ปีที่แล้ว

    Nail those assignments man! I'm going into my 3rd and last year of my undergraduate Computer Science degree. I'm hoping to get a First class degree (above 70% overall here in UK but I'm aiming for > 80%). I want to do a Master's in AI and Robotics afterwards. :) Wish you luck man!

  • @annexsoftworks
    @annexsoftworks 5 ปีที่แล้ว +7

    This makes me not want to do Computer Science anymore lol

  • @GarrettRose
    @GarrettRose 6 ปีที่แล้ว +11

    Cant wait for your next video. You make some lit content.

  • @BlueFlash215
    @BlueFlash215 3 ปีที่แล้ว

    Looking back when I was a student of mechanical engineering at one of the best German universities, it sometimes felt like a nightmare. But actually it was a dream because I had tons of friends. We actually were everyday at university for the full year even though everybody lived close by. From Monday to Sunday putting in 10 to 14 hours every day and still you have "basic math 1" and see 90%+ failing. Even though people that procrastinate and had the wrong attitdute were already gone due to 10 tests you have to succeed with 80%+ and not zero a single question to be able to participate on the final.
    Crazy times, good times. Would do it again and probably will get another degree, this time in computer science.
    I'm just scared of how I will be able to fit in to the young crowd. Kinda feel like Sherley or Pierce right now.

  • @SolidSt8Dj
    @SolidSt8Dj 6 ปีที่แล้ว

    Ok, I'm being 100% honest, you did a very good job of explaining it, and I understood what you needed to do right away

  • @lookitsmyvideo
    @lookitsmyvideo 5 ปีที่แล้ว

    It should be mentioned, this class changes its project every year. It usually has the same kind of steps. Some C backend, some sort of frontend in another language that interfaces with it. So you can't just find another person who did the project and copy it, you actually have to understand what its asking you to do (or find someone in your current year to bum off of)

  • @gumbilicious1
    @gumbilicious1 6 ปีที่แล้ว

    Looks like a fun project, I wished we did projects in school that required putting together different languages and integrating them in a web app.

    • @DevonCrawford
      @DevonCrawford  6 ปีที่แล้ว

      Yeah it was actually my favorite class

  • @juneoriginal
    @juneoriginal 6 ปีที่แล้ว

    Gained a new sub really cool stuff it seems like a great deal of work and effort to make these videos so just wanted to say greatttt job keep uploading :)

  • @ericwanchic2173
    @ericwanchic2173 5 ปีที่แล้ว

    Great assignment. As a real world example, HL7 is written in this way (with some interesting delimiters). Good luck!

  • @anthonypeterson777
    @anthonypeterson777 6 ปีที่แล้ว +32

    I could do this. But not with 3 day deadlines. 3 months for just the Java front end alone.

    • @ipotrick6686
      @ipotrick6686 6 ปีที่แล้ว +5

      KashKidSelfies wow thats extreamly slow

    •  6 ปีที่แล้ว +1

      @@ipotrick6686 pretty sure he was exaggerating.

    • @slackwsu7945
      @slackwsu7945 5 ปีที่แล้ว

      If you write a Java front-end for a node application you're gonna have a hard time.

  • @jesseg7841
    @jesseg7841 5 ปีที่แล้ว +1

    Was this your school’s operating systems course? Makes sense.
    What a hard class man

  • @ThePC007
    @ThePC007 6 ปีที่แล้ว

    Wait, your name's Crawford? Like that place in The Walking Dead? Wow, that's awesome!

  • @logangotcha8429
    @logangotcha8429 5 ปีที่แล้ว +3

    Teacher Email: Please read the GEDCOM File
    Devon: *Clicks*
    Me: 101 Pages..... FML Dx

  • @Peter-pn7om
    @Peter-pn7om 5 ปีที่แล้ว

    I was expecting to not understand one thing about this video, but since I actually make the same things just in python I understood everything. Now I wanna get a degree in CS.

  • @DannyMakesStuff
    @DannyMakesStuff 6 ปีที่แล้ว +1

    Hey mate, I really enjoy your videos.
    I study economic computer science in germany and weve got a math class: Analysis.
    The fail rate is like 85-90%... I think its the noob filter :D

    • @MrCmon113
      @MrCmon113 5 ปีที่แล้ว

      That's not what the word "noob" means.

  • @Ecdubs.
    @Ecdubs. 5 ปีที่แล้ว +6

    so you have to do it in C, and its 100 page assignment. Sounds like a waste of time to me. Rather do leetcode and learn a language companies hire.

    • @ondraenglish8131
      @ondraenglish8131 5 ปีที่แล้ว +2

      "This real world practical assignment is in C and 100 pages. Therefore it's a waste of time" what the fuck are you on about?

  • @fogglee
    @fogglee 6 ปีที่แล้ว

    I think that course is pretty accurate to what would be expected at an employer, and you'd be expected to make it in a few days.
    I say this because it's what I do for my employer.
    If you really want a challenge for parsing, look at something like COLLIDA format or even parsing C-syntax code itself if you want to go insane.

  • @tianoxavier1432
    @tianoxavier1432 6 ปีที่แล้ว

    geez i had no idea this guy was from uog .. keep up the good work man ! love your vids

  • @jeffreychandler8418
    @jeffreychandler8418 5 ปีที่แล้ว +3

    I've learned that overall, when a class is claimed to be a "fail class" (ie gen chem, o chem, anatomy, this course, etc) you have to remember that odds are, most college students are actually kind of stupid. Like if you put in the work you'll see results with every single one of them. However I know with my experience with anatomy and gen chem, you can't procrastinate it, you have to work the problems out and go over your material over and over again and try to learn the WHY it is.

    • @dq303
      @dq303 5 ปีที่แล้ว

      G-Man Bond 007 gen chem is not a “fail class” 🤣

  • @kx9-1
    @kx9-1 2 ปีที่แล้ว +3

    Wow this really motivated me to not study cs

  • @larrymorgan1982
    @larrymorgan1982 6 ปีที่แล้ว

    More please! Enjoy the content!! Let the CS ideas flow.

  • @CodeMilian
    @CodeMilian 5 ปีที่แล้ว +1

    Great project! This is closer to the real world of programming.

  • @windstorminator
    @windstorminator 6 ปีที่แล้ว +6

    U of G Avengers:
    Obimbo
    Gardner
    Sawada
    Judi
    Dan G
    GG
    Prof X
    "I will succeed"
    Wirth
    Wang
    🙏🏼

  • @paulnikonowicz
    @paulnikonowicz 4 ปีที่แล้ว

    The hardest part isn't the assignment itself, but the conditions surrounding the assignment. You are required to do this assignment as well as all of your other assignments from other classes all while juggling a full time job, wife, kids, and a cold within the given time constraints.

  • @MrGuitarMix
    @MrGuitarMix 4 ปีที่แล้ว

    There are good types of solutions for this. I personally would choose a language that supports patternmatching. Patternmatching is very useful wherever you want to use a grammar to parse files. You simply describe the grammar and pattern matching does everything for you.
    For everything else I would use processintercommunication. :-)

  • @ryanbeira9531
    @ryanbeira9531 6 ปีที่แล้ว

    Sh*t I successfully run an alert message using JavaScript and I thought I'm a programmer, until I saw this. You're a legend.

  • @ri5ux435
    @ri5ux435 5 ปีที่แล้ว

    The hardest part of that, for me, would be understanding their format using their 101 page standard. I'm not good with giant, overwhelming, walls of text. Parsing the data is a different story, you don't have to read it all, just understand the format.

  • @Limeslices
    @Limeslices 6 ปีที่แล้ว +5

    Give me moooooooorrrreeee!!!!!!

  • @lumps17
    @lumps17 6 ปีที่แล้ว

    Last time I saw this dude he was gaming, then he went to do camera stuff, now this XD, and this is what most intrigues me

  • @taureanwooley
    @taureanwooley 4 ปีที่แล้ว

    I thought the hardest course would be advanced data structures and encryption, but rarely do people spend much time really reflecting on the permutations, algorithms, or collision detection schema's to create newer encryption. The other more advanced classes involves something much worse than the "Angel of death" because it's blurry and you have to fill out an NDA.

  • @shedio5712
    @shedio5712 2 ปีที่แล้ว

    the more logically you think about this kind of problem, the less intimidating this is. it’s just the jargon that puts people off

  • @sidhu704
    @sidhu704 6 ปีที่แล้ว

    Holy smokes, you guys do such useful and modern topics, the CS in the UK is so behind and badly structured! No wonder CS in the US is ranked higher :/ Now I regret choosing UK :"(

  • @TheMojoJojo15
    @TheMojoJojo15 6 ปีที่แล้ว

    At least you had the test cases. We did all of these assignments without test cases, we had to figure out the test cases by ourselves :)

  • @arunkumar777
    @arunkumar777 3 ปีที่แล้ว +1

    @Devon Crawford can you recommend projects like the gedcom(haha....angel of death) like full stack project which involved hard core backend... ​ love your videos..
    --love from India..

  • @corynorell3686
    @corynorell3686 5 ปีที่แล้ว

    I get that this video is meant to be brief, but perhaps you should consider emphasizing the value of breaking monolithic tasks into smaller, more manageable problems. In my experience, this is the most overlooked process regarding new developers. Everyone tends to try to tackle it like one big assignment/project when starting out, rather than a compilation of small ones. (Unless I just missed that part, then nevermind.)

  • @behnamsaeedi
    @behnamsaeedi 5 ปีที่แล้ว +14

    I don't care what university are you in, this is a poorly constructed course with garbage CLOs. The instructor is doing students no good and covering a technology that is practically useless now, let alone 4 years from now when you graduate. This is why the CS educational quality is so low in some universities. Students deserve better, the industry deserves better, this field deserves better.

    • @qqqrrr2556
      @qqqrrr2556 5 ปีที่แล้ว +3

      I disagree. You'll run into uncommon formats all the time and learning to read through documentation to deal with them is an important thing to be taught how to do. You're not going to only encounter things you learn in school, I think this teaches you how to deal with those unknown things.

    • @theguitarist1290
      @theguitarist1290 5 ปีที่แล้ว

      CS degrees are not trade schools for software development.
      They aren't meant to teach you the latest and greatest technologies used in industry, but are meant to teach the theory and concepts of *computer science* so you can apply those concepts broadly regardless of whatever technology you end up using. This is more of an exercise of dealing with a new format they haven't encountered before, which is an applicable lesson regardless of what technology stack you use.

  • @weneedtotalk6153
    @weneedtotalk6153 6 ปีที่แล้ว

    Computer science is pretty easy. You just fix a bug in your program, then 3 more take it's place. Then a friend/coworker senior programmer comes and does the exact same thing you were doing, but this fixes everything at once.

  • @marioszlatanos6344
    @marioszlatanos6344 5 ปีที่แล้ว +2

    So the first part of the course it's like a super class from java but on C# .

  • @GatorWrastler88
    @GatorWrastler88 5 ปีที่แล้ว

    The concepts were easy to understand its just the whole
    "4000 lines of code for one assignment"
    part that got me stressing.

  • @matthewp4046
    @matthewp4046 5 ปีที่แล้ว +2

    This was unexpectedly very interesting. As others have said in the comments here - this shows how something can be built from scratch based on an agreed standard.

  • @tekki.dev.
    @tekki.dev. 4 ปีที่แล้ว +1

    Making this would be really time consuming... but wouldnt be hard tbh, it would take time to write and understand thou