E-Learning Archive - CraftCoders.app https://craftcoders.app/category/e-learning/ Jira and Confluence apps Wed, 14 Aug 2024 12:27:53 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.3 https://craftcoders.app/wp-content/uploads/2020/02/cropped-craftcoders-blue-logo-1-32x32.png E-Learning Archive - CraftCoders.app https://craftcoders.app/category/e-learning/ 32 32 3 Lessons about Education https://craftcoders.app/3-lessons-about-education/ Mon, 15 Oct 2018 19:24:04 +0000 https://craftcoders.app/?p=811 Read More]]> I was going to write a plain old blog post with a lot of letters following one another, you know, the usual way, when suddenly ** wild inspiration appeared **. And I thought, why do you guys always have to do all the reading. So I made a video for you. It is 6 minutes long and it took me 3 days to create, so please be kind.

P.S.: Yes, I did misspell “playfulness” in the video. Let’s just all move on and pretend it didn’t happen.

Let’s learn from each other. In a fun way.
Dannynator.

]]>
Explore the Unexplored! (Tech world) https://craftcoders.app/explore-the-unexplored-tech-world/ Mon, 08 Oct 2018 15:58:16 +0000 https://craftcoders.app/?p=774 Read More]]> Autumn is coming. This is the time when I like to grab a cup of hot tea and crawl under a warm blanket with my laptop. As a developer, it’s a good time to broaden your horizons with new knowledge. I want to motivate you to use that time as well to explore the tech world.

Whilst working on tech stuff, often a talk with a friend comes to my mind. When he asked in a deeply sarcastic tone whether I’ve got time to meet up or if I’m into my “private projects” again. Yeah, exploring the tech world can be pretty time consuming but doing so is great fun too. The result of that time was an Android note app which I use until today regularly. With that project, I learned a lot about clean architecture, object-orientation, Android, UX, and even project management.

How to approach it

Basically, the message is: Engage with a tech field you are new to. This is not a new idea. Despite, a lot of professional and experienced developers have a limited mindset when it comes to usage of appropriate technologies because they don’t know the objective advantages and disadvantages of choosing one technology over another.

So, the question is not whether you should broaden your horizons or not. It is when and how you should do it and how to keep on. Here are two approaches which both have their own up- and downsides:

  • Private Projects: You can work on your own small projects about a topic you personally find interesting. As it is something you chose yourself chances are that you are super motivated to start the task. The problem is that you might choose the project scope too big and lose interest before finishing the project. Another problem might be that you don’t have an idea what to code. Therefore I prepared the second point.
  • 7 Languages in 7 Weeks: This is a book written by an inspiring author called Bruce Tate. Within his book, you can find seven introductions to programming languages (what a surprise). They all have different emphasis just like different private projects. If you are a more structured kind of person this might be the choice for you because Mr. Tate guides you through advantages and disadvantages of technologies systematically.

Hacking to the Gate

My current project is part of our future gadget lab, so put your cup of hot tea aside and take a fresh cool Dr.Pepper instead!  We gave our project the name Divergence Meter (modernized) Ver.2.31 and it will help us to finally leave the alpha attractor field and reach the Steins;Gate worldline. I can’t tell you too much as the organization is chasing after us. ~el psy kongroo

For the boring normies out there: A divergence meter is a fictional device from the anime Steins;Gate, but you can use it as a multifunctional clock. A friend of mine built the thing and I’m currently programming it. We created a modernized version using lixies instead of the original nixie tubes because for our poor lab they were more affordable. The lixies work with a rotary encoder called Cronios-1. Put simply, with the rotary encoder you can program your device using a dialect of BASIC namely LED-BASIC. Here is an impression of the beautiful code you can write with it:


' VAR: g: Month from data, q: Day from data
8020:
for i = 1 to 10 step 3
g = read 50, i
q = read 50, (i+1)
if g = (IO.getrtc(4)) and q >= (IO.getrtc(3)) and i <> (IO.eeread(18)) then IO.eewrite(18, i)
next i
return

I never programmed that close to the actual hardware and it feels quite hacky in the beginning. You can spend hours trying to display a 6-digit number. The code for our clock has a length of more than 1800 lines in a single file with jump marks all over the place.

Benefits

But I could learn a lot about imperative programming especially when it comes to separation of concerns. With such a long file and a maximum of 26 variables which are all global ones, you have to think about where to put what code snippet to avoid side effects and maintain the structure. Generally speaking, by engaging with projects like this one or the previously mentioned Android app you can think of problems in new ways and use your knowledge from one technology in another. This is also what Mr. Tate states as you will see in the next section.

7 Languages in 7 Weeks

Let’s assume that you’ve actually managed the difficult task of downloading and installing the interpreter or compiler for the language you are interested in. What should you do next? What will be your first program? – Joe Armstrong, creator of Erlang

This is an excerpt of the  books preface. If you also have these questions in mind whenever you think about starting a project, then the book will be just right for you. It is stated that new programming models emerge roughly every 20 years. Some emerging new languages are covered and some well-known languages, too. By doing so you can see how different paradigms can overlap or make clean breaks. Concurrency, for example, is a topic which is treated very differently in different languages.

Covered languages

Here is quick overview of the languages and some of the aspects you can learn from them:

  • Ruby: Object orientation, dynamic typing
  • Io: Prototype programming, dynamic typing, concurrent programming
  • Prolog: constraint-logic programming, declarative
  • Scala: Functional programming, Object orientation, addresses critic about Java
  • Erlang: Functional programming, concurrent programming, immutability
  • Clojure: Functional programming, treat code as data, lisp near
  • Haskell: Functional programming, strong static typing, lazy evaluation

How to proceed

As soon as you have worked through the book and you are still eager to learn you can search the web for code katas or object calisthenics. These little exercises will help you build more confidence in programming especially if you choose unfamiliar technologies.

As always thanks for reading! One rumors that you can find a pdf version of the book if you search the web. Maybe you should take the chance and start right away using it 😉

Greets,
Hououin Kyouma

]]>
How to start and learn coding https://craftcoders.app/how-to-start-and-learn-coding/ https://craftcoders.app/how-to-start-and-learn-coding/#respond Mon, 28 May 2018 08:00:53 +0000 https://billigeplaetze.com/?p=83 Read More]]> Every day we learn something new, people say,… and yet; you may end up in a situation you feel it’d only go further in one direction. You know there is so much outside of the box, and somehow you managed to get stuck inside. At least you don’t know how to get out anymore. That’s what happened to me four years ago.

I ended up making a huge move to break out, relocated and started my second undergraduate studies in the fields of mechatronics and computer science. Retrospectively, this was not the best solution, but at least, it was one. One reason why this had to be so radical was that I occurred to not be aware of sufficient other possibilities to extend my knowledge and skillset adequately. My actual inner vision and motivation were to build up a skillset and to be able to create my own products, i.e. apps or smart-solutions. Thus, a whole second study-program was a bit too much. Programming though was highly interesting because it promises to empower you to reach this goal!

So in this blog-post, I want to address two main learnings of mine, in the hope that you don’t need to make the same mistakes, but get a great head start to learn a specific hard skill, like programming:

  • How to get into it?
  • Why you should consider E-Learning

To learn programming turned out to be much easier than you maybe think. No need to start over again, no need to stop what you’re doing and you don’t need to start second studies either – but of course, nothing comes from nothing!

 


How to get into it?

Don’t be delusional

Learning to code is comparable to learning a new language. It will be complicated sometimes, it requires effort, endurance, and continuity. There are parts you won’t like, and parts you’ll love to do. I experienced moments where I simply didn’t want to go further, even though I knew, it’s just one rung of my latter to live my dream. As long as you don’t stop there, those moments pass and so are those tasks. But of course, nothing is perfect, so you can expect that even your dream isn’t as romantic as you want it to be.
When you expect results quickly, you should plan a lot of time and nerves. The more frequently you “speak the language” the more familiar it feels to you. Roughly estimated the latest after 6 focusing months you can code on a pretty satisfactory level!

Set a goal

There are several motivational factors when it comes to learning, of course. Something that extremely helped me was (and still is) my goal, to get my own ideas into life, as apps. I have clear products in my head and they are waiting for me to get them done. During my learning process, I quickly reached the moment when it got crystal clear why I should learn what I learn, what I can do with the new knowledge and how I could use it in my personal project.
So set yourself a goal: An app, website, portal, game or program you always wanted! If you don’t have any clue what your product idea could be: Talk to people, really anybody, and ask what kind of product they always wanted. Once you found something, keep talking about it!
The more you discuss it with people, the more present it is in your head and the higher the motivational-effect will be!

Hands-on!

Before you go all-in, you better get yourself informed. With “informed” I don’t suggest to talk to people, read magazines, blog-posts or flyers. Instead put your hands on code asap! If you have a goal and decided on a platform (android/ios/windows app, webpage, or so) you have several options to choose from:

  • Udacity,
  • Codeacademy,
  • SoloLearn,
  • Khan Academy,
  • The Odin Project,
  • Free Code Camp,
  • edX,
  • Udemy,
  • Video2Brain,
  • Video tutorials on youtube or
  • simply search for “my first …”.

Learning to code never have been as easy as it is now! So just start anywhere. You might switch from one to another platform after a few lessons, but that’s part of the process, don’t worry! I decided to learn Java and write my own app, so I ended up with Udacity for now, which is simply amazing! The best part about E-Learning-Platforms is, that most of them are for free and the moment you’d have to pay for something you already know if it’d be worth it, but more of “why I happily ended up with E-Learning” in the second part of this post.
In my opinion: You don’t need to learn the theory before starting, just work towards your goal!

Get involved

Better sooner than later! There are hardly any reasons why you shouldn’t participate in a hackathon right now already. Even though the name says otherwise, hackathons are not about delivering code or hacking a technical system. It’s rather creating ideas, designs and creative solutions for whatever topic. Anyone can participate: Presentation- or design-skills are just as wanted as programmers or creative folks. It’s mostly for free: food, drinks, contacts and a lot of experience are provided. I found this amazing group (Billige Plätze) and we managed to take away two rewards out of three hackathons so far, in which I hardly committed any code! And then: the moment that you notice that you actually can participate coding will be epic – believe me!

If you don’t happen to have the time or stamina for hackathons, you will be surprised how many Meetups take place around you. Plenty of “Python from zero to hero”-like courses might take place somewhere around you. Check out this app, as a starting point to get involved:

 


Why you should consider E-Learning

Studies and other “classic” possibilities, like apprenticeships, retraining courses or workshop-series’, mostly come along with a bunch of problems which can turn your motivation into desperation. Of course: (under-)graduate studies and/or apprenticeships are very important stages of one’s career. But you simply shouldn’t expect to get out of there and automatically learned programming. You’ll hardly learn hard-skills, like coding. And yes, …E-Learning is (so far) not a proper official equivalent for your first educational path, yet it may helps you to add that little special something to you CV and empowers you to prove your worth.

On my journey, during the second studies, I faced four main problems:

Money

To start over and/or start learning in a classical way is very expensive. Whether you end up with debt, no sufficient or fewer earnings, or unjustifiable costs. On the one hand this may be a good motivation to get it finished quickly and efficiently, but on the other hand it’s not always so easy to “get through” with either (…also, your goal shouldn’t be to “get through with it” as fast as possible, but to make it as effective as possible!). A lot of E-Learning-Offers are for free, have only some premium-features or are pretty affordable.

Tests

Nearly all the classic learning systems contain tests of some classic sort. There will be exams, working papers, (if you’re lucky) projects and at the end, there is this one person telling you if you managed. The result is nearly always the same: Within a (relatively) short period of time, you got to learn or do a lot of stuff. While most of this stuff potentially is crap, you probably stumble upon a few interesting topics, but you’ll lack the time to dig deeper into it. In my own humble opinion, the main problem is, that this system requires you to prove your learning-curve in the blink of an eye, metaphorical speaking. You will never have to do that when you’re actually coding, for example. With programming, it’s mostly the other way around. A lot of E-Learning-Solutions, if they have some sort of test, find proper solutions. That’s where concepts like gamification come into play! Mostly E-Learning-Platforms manage to guide and go with you on the journey and notice your development along the way.

Stuff you don’t need

The main goal of studies and other classic-learning-options are not to make you a specialist or practitioner of some profession. You end up with a lot of broad knowledge (if you don’t forget it again) and somehow not having reached your goal to be able to get something done. Studies, let alone, are not making a programmer out of you, it’s rather the activities along with your studies that can make this transformation happen. I’m sorry to say this, but if you want to learn to code, you don’t need Laplace-transformation, Fourier theory or partial integration. The moment you’d need stuff like this, you are already in spheres where you will and can learn it. If all this broadening-your-horizon would be a small part of the studies – ok! Unfortunately, it’s consuming a huge amount of your time and energy. With E-Learning-Programs you can choose the content yourself. For a profession, like programming, there’s a huge portfolio available. It’s quite likely that there is at least one platform that’s using the right methodology and practices for you.

Sacrifices

When you build up your life, you gather more and more materialistic, emotional and social attachments. Putting effort and willpower into learning something new can require a lot of your (current) life. And at some point, I ended up feeling like having to say “no” to everything I’d actually like to do. I sacrificed a lot, due to a guilty conscience or simply learning pressure and stress. E-Learning-Portals mostly let you choose your own pace, give you soft or achievable due dates, and, if well made, still help you to easily stay on track.

Believe me, going all-in, like I did, may sound romantic, enthusiastic and brave… but those are no actual arguments. I’m not saying second studies or classic educational paths are always the wrong way, just don’t consider them the only or best one to learn something new, that seems big now.

 


So as you may have noticed, the main part that’s holding you back from achieving your goal is you. This border of “not knowing how to get started” is only in your head. Go through my advise, step by step, and you won’t even notice the moment, when you pass the line, that first seemed so far away. Grab that keyboard and let your own show begin. Hopefully, I managed to be the drop on the seed, and you will let the plant grow!

If so, see you at the next hackathon 🙂

Sören Hemken

]]>
https://craftcoders.app/how-to-start-and-learn-coding/feed/ 0