How I Learned Programming For Computational Linguistics

Поделиться
HTML-код
  • Опубликовано: 17 окт 2024

Комментарии • 14

  • @sanetersoy4512
    @sanetersoy4512 Год назад +8

    I am a second-year computer science student who is inclined to delve deeper into mathematical principles and programming concepts rather than focusing solely on programming languages. But I will also start to learn programming languages after establishing a solid foundation. My ultimate goal is to develop advanced artificial intelligence systems.

  • @marlox1804
    @marlox1804 8 месяцев назад +3

    You're the only RUclipsr giving straight forward advice about this course. Thank you ❤ Would love to get more insight about your web development journey.

  • @EachDayForever
    @EachDayForever 8 месяцев назад +4

    I liked this video so much that I wanted to have it in transcript form to look at.
    So I made a formatted transcript of the video. @Nastya, feel free to use it in any capacity (like posting the transcript in the description or on some other platform if you'd like, creating a summary/article/write-up with it, having RUclips use its built in transcript sync to automatically sync it with the video to create timed closed captions that viewers users can toggle on, etc.) No need to credit me though:
    ---
    ** TRANSCRIPT Part 1 (PART 2 IS IN THE REPLY COMMENT TO THIS)-
    * Chapter 1- Hi! (00:00):
    How did I learn programming for computational linguistics? This is the question that I get pretty often, and I want to answer it in this video.
    I started learning how to code fully on my own. I didn't go to any school per se; I stayed at home and learned it with a lot of online resources, and most of them were completely for free.
    ---
    * Chapter 2- The most useful skill for the job (00:22):
    One of the most useful skills that I gained during that time was Python skill. So, Python is a programming language which is pretty beginner-friendly. So, if you've never learned a programming language, Python is a good place to start.
    I started learning it with the book; I think the name of it was like Python Crash Course. I don't even remember the edition number because there are multiple editions of this book. And I just felt like the book was so beginner-friendly that I actually got super curious about things while reading, and it only ignited this curiosity for Python.
    I think this book also has some projects, but I did not do them. I just found some RUclips tutorials. I think on FreeCodeCamp, there is one big tutorial about Python, so I watched that too and made some exercises while doing that tutorial. And also, on RUclips, you can find some project ideas, and I do think it is super helpful when you learn a new language to apply the knowledge right away.
    I also built a couple of projects; some were small, and I also built one e-commerce kind of website.
    And you can find a lot of not only actually about web development but also about videos about Python on Corey Schafer's RUclips channel. That's my favorite RUclips channel about Python, and I highly recommend to check it out if you are going to learn Python.
    I used HackerRank a lot for learning Python as well and also practicing because they have sets of coding challenges for different languages, and Python is one of them. And I think they also have a more educational approach, so they will give you some explanation as well.
    Practicing with HackerRank or LeetCode was also something I did, and I actually got back to it when I needed to just get some more practice with Python regex.
    ---
    * Chapter 3- How I got into fundamentals and when it got useful (02:22):
    I did study Python for web development mostly, because my goal wasn't to become a computational linguist, but I still did become a computational linguist for a year. And so, because my motivation was to build apps, I also learned a couple of frameworks that exist for web development with Python, so Flask and Django.
    The most important parts of Python for computational linguistics, for me, were Python regex, so searching for patterns within texts, and also scripting, so automating some tasks, working with files, maybe copying something from one file to another, searching for something within a file, this kind of stuff. Also, a little bit of NumPy and Pandas experience; I did try to build a movie recommendation engine. You can find a tutorial on RUclips. That was also something kind of close to my role, but I wouldn't say I used it a lot, though it was useful to read other people's code.
    And now let's take a step back. Before I started learning Python, I actually got some programming experience with JavaScript, and even before that, I took some general courses about programming. "Think Like a Computer: The Logic of Programming" course on OpenClassrooms, I watched CrashCourse Computer Science on RUclips just to get some idea of the field, and some concepts and principles, you know, to get a high-level overview, to explore things. And that was my first step when I decided to learn programming and to become a coder.
    Another resource that I liked was "Grokking Algorithms." So, when you start learning how to code, many people will say that it is important to learn algorithms and data structures. It is indeed. I do think it is important. It's just quite often it is very technical for beginners. I personally got discouraged when I tried to watch a video about it, which was super technical, but this book, "Grokking Algorithms," is amazing. It is completely beginner-friendly, and also, I think anyone who's just interested in the topic, who doesn't have a technical background, will actually like the book. It is just intuitive, it has some pseudocode. Pseudocode is not real code, but it kind of looks like Python, if I'm not mistaken because maybe it is with Python. I don't remember. But it is one great book to understand the logic and the whys behind algorithms and data structures, and why it is important. And I just think it is a fun read for curious people.
    So far, we covered Python, Python regex, Python scripting, basics of the language, also exploration, the most important concepts of computer science, algorithms, data structures, and also the logic of programming, what is programming, what is computer, all this kind of stuff. Having some good idea about it is great.
    Also, during my interviews for the computational linguist position, it did come in handy the knowledge about big O notation, how to understand the running time of an algorithm. It was asked. It wasn't as important maybe as it is for some software engineering positions. It wasn't the key part of that interview, but still, it was asked, and it was just a huge plus if I knew it. And fortunately, I was able to answer.
    ---
    * Chapter 4- Javascript vs Python learning experience (05:56):
    I remember when I was learning JavaScript, I felt overwhelmed by the language, by the browser itself as an environment where JavaScript runs, and there were a lot of concepts that I could not understand, and some concepts within the language just didn't make any sense because I did not have the broader context.
    So, with Python, the situation was a little bit different, and I feel like I was never burnt out while learning Python. I was never overwhelmed, maybe because it was my second programming language, maybe because it's just Python versus JavaScript. I don't know. But I feel like learning Python was a pretty smooth process.
    But also, looking at my experience with JavaScript, I'd say if something in the language does not make sense, it doesn't mean that you are not enough or something. Sometimes it just, I don't know, you just need to reread the same thing or read it in multiple resources, you know, to read it in different words to understand the concept. I wasn't definitely the fastest person to learn all these concepts, especially in the beginning. I just felt like in the beginning, I was super slow. And while I was learning and improving my speed of learning and understanding things was also super important.
    And you just need to remember that if you don't understand something, you can always get back to it. Just keep moving, keep pushing. This is something my coding coach told me a lot of times. Just keep pushing, keep going, and eventually, you'll get it.

  • @amirkuroshmoosavi9258
    @amirkuroshmoosavi9258 Год назад +4

    First comment 😁💙 I love your content on computational linguistics by you. I've been inspired to do my phd in linguistics to get into this field

  • @EachDayForever
    @EachDayForever 8 месяцев назад

    This is incredible! Thanks for sharing your insights and knowledge in such an actionable way!! I’m gonna come back to this video many times, I’m sure.

  • @mariiakharlacheva8533
    @mariiakharlacheva8533 9 месяцев назад

    Thanks so much for sharing such precious information! It’s hard to find lots of useful information about this field!

  • @rotmeet4585
    @rotmeet4585 Год назад +1

    Thanks a lot! Great content, keep up the good work!

  • @thejohnsway6244
    @thejohnsway6244 Год назад +1

    :) I love nastya's content, I hope see her in person

  • @Christian-ve4bs
    @Christian-ve4bs Год назад +2

    I'm majoring in linguistics in college right now. :D But I'm not into programming.

  • @nargeskavousi7060
    @nargeskavousi7060 Год назад +1

    Thank you so much for making this video 💙🥹

  • @haifahussein5962
    @haifahussein5962 Месяц назад

  • @acecastro1665
    @acecastro1665 5 месяцев назад

    what was your salary like for the year you worked as a computational linguist ?

  • @d7dh523
    @d7dh523 8 месяцев назад

    Keep posting I am a linguist and I don’t like teaching it just annoying thanks for opening doors for me