Options

Learning programming one week at a time using Code Year

JDMurrayJDMurray Admin Posts: 13,034 Admin
Is anyone using the Code Year Web site to learn programming? It looks like a great concept. You are sent a programming lesson every Monday and you have the week to work on it. You start with JavaScript, which is both easy and useful. And the site is free, but I'm sure there is an opportunity to buy something along the way. :)

Someone who has "Learn how to write software" as a New Year's resolution please give it a try for a few weeks and post back here.
«1

Comments

  • Options
    RobertKaucherRobertKaucher Member Posts: 4,299 ■■■■■■■■■■
    I signed up. I need a JavaScript refresher! Thank you!
  • Options
    EveryoneEveryone Member Posts: 1,661
    If programming = True {
    Do something else
    }
    EndIf
  • Options
    RomBUSRomBUS Member Posts: 699 ■■■■□□□□□□
    Hmm something I could use to add to my repertoire

    I took one Java class in school...pretty much the end of learning that after I passed it
  • Options
    undomielundomiel Member Posts: 2,818
    It looks interesting enough, maybe I'll try to shoehorn it in. I've never taken my programming learning seriously enough which is why I never finish any of the programming projects I've started.
    Jumping on the IT blogging band wagon -- http://www.jefferyland.com/
  • Options
    ZartanasaurusZartanasaurus Member Posts: 2,008 ■■■■■■■■■□
    Everyone wrote: »
    If programming = True {
    Do something else
    }
    EndIf
    Shouldn't that be programming == true?
    Currently reading:
    IPSec VPN Design 44%
    Mastering VMWare vSphere 5​ 42.8%
  • Options
    PsychoFinPsychoFin Member Posts: 280
    Interesting, reminds me of the Khan Academy. I will definitely jump on this one, one lesson a week is my kind of pace :)

    Cheers,
    Fin
  • Options
    gcarroll357gcarroll357 Member Posts: 53 ■■□□□□□□□□
    Thanks. I figured I need to learn some programming to help me get more in IT...this should definitely help.
  • Options
    N2ITN2IT Inactive Imported Users Posts: 7,483 ■■■■■■■■■■
    JD

    Thanks for posting!
  • Options
    phoeneousphoeneous Member Posts: 2,333 ■■■■■■■□□□
    Is it strictly javascript?
  • Options
    JDMurrayJDMurray Admin Posts: 13,034 Admin
    phoeneous wrote: »
    Is it strictly javascript?
    From what I've read, it's JavaScript to start. It might transition to Java, Perl, C++, or even Python. Practically every language has a free compiler/IDE now, so who knows.
  • Options
    LizanoLizano Member Posts: 230 ■■■□□□□□□□
    Signed up! Thanks for the post, great find!
  • Options
    SlowhandSlowhand Mod Posts: 5,161 Mod
    I'll jump on this. I've been meaning to pick up some JavaScript, and I'd like to keep my coding brain cells active for a few more months while I'm focused on other things. These assignments seem lightweight enough that I won't have to strain too hard, but they look informative and fun, so it'll be a good thing.

    Free Microsoft Training: Microsoft Learn
    Free PowerShell Resources: Top PowerShell Blogs
    Free DevOps/Azure Resources: Visual Studio Dev Essentials

    Let it never be said that I didn't do the very least I could do.
  • Options
    ImTheKingImTheKing Member Posts: 62 ■■□□□□□□□□
    I'll bite. I've never been huge on programming (other than shell scripting), but it's worth a shot.
  • Options
    yuddhidhtiryuddhidhtir Member Posts: 197 ■■■■□□□□□□
    Thanx!!always wanted to learn some basic programming,its pretty nice for beginners:D
    “Satisfaction lies in the effort, not in the attainment; full effort is full victory.”
  • Options
    coty24coty24 Member Posts: 263 ■□□□□□□□□□
    Sick! Thanks JD
    Passed LOT2 :)Working on FMV2(CHFI v8 ) Done!
  • Options
    CodeBloxCodeBlox Member Posts: 1,363 ■■■■□□□□□□
    Shouldn't that be programming == true?

    If the language is C ( and I'm assuming it's not due to the if syntax ) then that is a valid assignment and will not throw an error. In some cases, the result is not whats desired and people make this mistake accidentally. Little tough to catch too sometimes.

    Here is what I mean, you can make your assignment and test it all in one line:
    if( ( programming = TRUE ) ){
        doSomethingElse();
    }
    

    That is equivalent to
    if( TRUE ) {
        doSomethingElse();
    }
    
    Currently reading: Network Warrior, Unix Network Programming by Richard Stevens
  • Options
    JDMurrayJDMurray Admin Posts: 13,034 Admin
    CodeBlox wrote: »
    if( ( programming = TRUE ) ){
        doSomethingElse();
    }
    

    That is equivalent to
    if( TRUE ) {
        doSomethingElse();
    }
    
    And it will set the value of the variable programming to TRUE too.

    And yes, that definitely is not C/C++/C#/Java syntax. The original code has both statement block braces and an EndIf? icon_scratch.gif
  • Options
    RobertKaucherRobertKaucher Member Posts: 4,299 ■■■■■■■■■■
    Since it is pseudo-code, I suppose Everyone can make up his own pseudo-language.
  • Options
    veritas_libertasveritas_libertas Member Posts: 5,746 ■■■■■■■■■■
    I'll jump on board. I won't be able to get seriously involved, but I'll try to keep up enough to learn a thing or two.
  • Options
    Bl8ckr0uterBl8ckr0uter Inactive Imported Users Posts: 5,031 ■■■■■■■■□□
    I'm game. I need to pick up some dev skills myself.


    My question is if it will offer an introduction to CS stuff or just development.
  • Options
    JDMurrayJDMurray Admin Posts: 13,034 Admin
    My question is if it will offer an introduction to CS stuff or just development.
    It looks like only hands-on programming. If you want true CS, have a look at the CS lectures at Academic Earth and MIT OpenCourseWare.
  • Options
    CodeBloxCodeBlox Member Posts: 1,363 ■■■■□□□□□□
    JDMurray wrote: »
    It looks like only hands-on programming. If you want true CS, have a look at the CS lectures at Academic Earth and MIT OpenCourseWare.

    I'm a computer science major currently but woah, I didn't know such a thing as open courseware existed. Looks like all the lecture notes are readily available too. Very nice!
    Currently reading: Network Warrior, Unix Network Programming by Richard Stevens
  • Options
    JDMurrayJDMurray Admin Posts: 13,034 Admin
    I might as well mention the Google Code Hosting project (formerly Google Code Search) for people looking for samples and examples of source code in quite a few different programming languages.

    And have some early Friday Fun with Hello World examples in many different programming languages.
  • Options
    Bl8ckr0uterBl8ckr0uter Inactive Imported Users Posts: 5,031 ■■■■■■■■□□
    How can you teach programming without teaching CS theory?
  • Options
    JDMurrayJDMurray Admin Posts: 13,034 Admin
    How can you teach programming without teaching CS theory?
    The same way you can teach programming without also teaching Boolean algebra and predicate calculus. The concepts of data structures and program logic are so intuitive that even children learn to program without directly learning much about the basics of CS. God knows I was writing practical programs for years before I took a programming class or could make any use out of a CS theory book.
  • Options
    CodeBloxCodeBlox Member Posts: 1,363 ■■■■□□□□□□
    I was going to say, I started programming before I took any CS courses. The CS courses of course supplemented what I was learning on my own.
    Currently reading: Network Warrior, Unix Network Programming by Richard Stevens
  • Options
    RobertKaucherRobertKaucher Member Posts: 4,299 ■■■■■■■■■■
    How can you teach programming without teaching CS theory?
    CodeBlox wrote: »
    I was going to say, I started programming before I took any CS courses. The CS courses of course supplemented what I was learning on my own.

    I think this goes to the heart of the terms "programmer" vs. "software engineer".

    Learning enough about C or Assembly to be able to understand output from a debugger or a crash **** and write some relatively complex programs is very different from being a software engineer.

    In today's world, holding two distinct domains of knowledge at an expert professional level is nearly impossible if you want to have a life out of work. The last man who knew everything died in 1829.
  • Options
    JDMurrayJDMurray Admin Posts: 13,034 Admin
    I think this goes to the heart of the terms "programmer" vs. "software engineer".
    Although professionally branded a "software engineer," I've really been more of a "programmer" most of my professional career. But I am certainly more of an (software) engineer than I am a (computer) scientist.
    A time traveler, obviously. ;)
  • Options
    hiddenknight821hiddenknight821 Member Posts: 1,209 ■■■■■■□□□□
    I don't know how I can thank you, JDMurray. I really like this link, and I see this as a good programming refresher. I didn't have JavaScript experience before I signed up. I registered it earlier this week, but I told myself I would get to it and catch up with all exercises and projects but I was somewhat procrastinating. I have to say it wasn't easy to stay motivated and finish it, especially when you have no legitimate reason to learn it at this time. Some of the exercises were so redundant, that I got pretty tired and bored of typing the same codes. I tried not to **** by skipping or copy-and-paste. I hope to become a JavaScript expert in the next several weeks, and have that added to my resume. One thing I definitely learned from this is ternary condition. I didn't see this in other programming languages I learned. I'm now all caught up with the lessons. Anyone else still working on it or calling it quits already?
  • Options
    CodeBloxCodeBlox Member Posts: 1,363 ■■■■□□□□□□
    This is for anyone who is familiar with C... Do you think doing something like this is using the language in a wrong way? I mean, there are no methods in native C code. What do you think about what I've written below. Namely, the last argument to printf.
    #include <stdio.h>
    
    typedef struct{
        int (* op)( int , int );
    }operate;
    
    int add( int a , int b) { return a + b; }
    
    int main( int argc, char ** argv ){
    
        operate operating;
    
        operating.op = &add;
    
        if( argc == 3 )     
            printf( "\n%s + %s = %u\n",argv[1], argv[2], operating.op( atoi( argv[1] ) , atoi( argv[2] ) ) );
        else
            printf( "Invalid number of arguments \n" );
    
    
        return 0;
    }
    

    The way I define that function pointer as a member to the structure, it's as if its a method like in C++ or Java and you can call the function "add" by way of doing "operating.op( arg1 , arg2 )"
    Currently reading: Network Warrior, Unix Network Programming by Richard Stevens
Sign In or Register to comment.