Jump to content

Menu

Recommended Posts

Hi,

My High School son is looking for programming language online courses as he is interested in pursing his career in Computer/Software Engineering at Waterloo University. We have browsed some options so kindly recommend me the best one to start as an absolute beginner:

 

https://www.coursera.org/specializations/java-programming

 

https://www.edx.org/course/html5-and-css-fundamentals

 

https://www.edx.org/course/cs50s-introduction-to-game-development-0

 

https://www.edx.org/microsoft-professional-program-entry-level-software

 

https://open.cs.uwaterloo.ca/

 

https://www.w3schools.com/

 

Which website would be a good place to start (without any outside help)? Thanks.

  • Like 1
Link to post
Share on other sites
13 hours ago, 8FillTheHeart said:

My dd self-taught herself Python without difficulties using the book Python for the Absolute Beginner. She is currently at a CS camp and told me last night  that now she definitely wants to major in CS.

 

Several have a title like that. Is the one you mean By Dawson ?

Link to post
Share on other sites

Self-study doesn't work for my oldest, so we're going with a live class. She's taking a Java class through Excelsior. I have no idea how it will go as I haven't even seen a syllabus yet and the course description is skimpy.

We considered the AoPS class and FundaFunda's not-live class, too. (I wanted to send her to a CS camp, but we could not find anything nearby (within 1 1/2-2 hours)  and all the driveable ones (3-6 hrs) were either day camps or super expensive.)

Link to post
Share on other sites
46 minutes ago, Pen said:

 

Several have a title like that. Is the one you mean By Dawson ?

Yes. 3rd ed. Fwiw, her older brother took AoPS's intro to programming class and she covered much more coding through self-studying the book. It is written directly to the student to work through various projects, so it is meant to be self-teaching.

  • Like 2
Link to post
Share on other sites
  • 2 years later...
On 7/11/2018 at 1:16 AM, 8filltheheart said:

My dd self-taught herself Python without difficulties using the book Python for the Absolute Beginner. She is currently at a CS camp and told me last night  that now she definitely wants to major in CS.

I'm glad to see someone else liked this book!  I also thought it was excellent.  

Link to post
Share on other sites

This is an old thread but seems to be getting updated.

I would suggest as a first course and a first programming language the excellent course about Python for Everyone from UMichigan. Great instructor. It is on edx and also on Coursera.

https://www.coursera.org/specializations/python

Note: He has all of the materials available on his web site or links to them, free. I bought the Kindle edition of his textbook on Amazon for 99 cents. Everything else was free.

Note #2:  Someone upthread mentioned the "C" programming language. That's more of a "mid-level" language. Someone like me who worked closely with hardware would be more comfortable with "C" or "Assembly Language" than someone who isn't comfortable with the Hardware.

The basic principals are the same, from language to language, so learn the fundamental skills and then as you go, look into other languages.

IMO Coding is the least important thing in the process. It is what happens before the Coding begins that is more critical and more independent of the programming language that will be used.

Edited by Lanny
change mention to mentioned
  • Thanks 1
Link to post
Share on other sites

Follow on to my first response.  I was a Consultant and moving from client corporation to another one, with a different language. On my resume it said that I was a "Generalist".    I never found Coding that enjoyable. For me, that was the drudgery of the work that I did and the least interesting to me.  Once someone learns the principals of what is needed, they understand that it is about the same, from one language to another language and that what comes before the Coding is what is the highest priority and has more to do with understanding the issues to be solved and how to do that.

I received another promotional email from edX.org about this new course from the Linux Foundation today. They had sent one to me, dedicated to this new course, a month or so ago. The email today promoted multiple courses. I am contemplating taking this one. It is 14 weeks long and they estimate 5 to 7 hours each week.

Understanding the OS (Operating System) and the Tools and Libraries available, is critical in being able to develop Software/Firmware.  

Consider starting with this MOOC course from edX which is free if one doesn't need the Certificate:

https://www.edx.org/course/introduction-to-linux?utm_source=sailthru&utm_medium=email&utm_campaign=newsletter_course_tuesday_20201117

Link to post
Share on other sites
On 7/11/2018 at 4:55 PM, Lilaclady said:

I just forwarded an email to my dd that said python is now the most used language followed by JavaScript, java and c. I will concentrate on those ones. You can look at udemy or other platforms online or take the AoPS python class. 

replies to various of the above....

- Waterloo - totally great place for a CS degree. Especially good for design automation.  great choice.

- it MOSTLY won't matter what language you learn right now. you're going to have used 3-6 before you graduate and another 2-5 in your first 5 years on the job. the first one is the hardest, mostly because you're learning how to program (think). syntax is the easy part.  that said...

- don't pick Javascript. It's a horrid language and as the name implies it's more a scripting language than a 'real' language. I'd pick Python. Secondly Java. If you're feeling adventurous then something like GO.  +1 for the Michigan coursera class. but again, the class is more important than the specific language.

- bias heavily towards something with an actual human who provides feedback. writing code that successfully implements the program (what's checked in automatic classes) is not the same as writing a program that anyone else can read, that's debuggable, than can be easily extended or adapted (even by you). For that, you need a human who gives you feedback.

- don't expect that this gives you that much of a leg up once you get to university, or that it's required to get in and succeed. First programming language is usually just a 1 semester class freshman year. Again, syntax is the easy part. Understanding what to program is 99% of a CS degree.

 

 

 

 

 

 

Link to post
Share on other sites

In addition to the 14 week long introduction to Linux, from the Linux Foundation, which I mentioned a few days ago (and am contemplating taking) since then I have received one or 2 promotional emails, from edX or Courseara, about courses that teach one how to use the Linux Development platform and tools.  Git, etc.

That's really cool for anyone who thinks they might like to work on Software Engineering projects.   I will explore both of those possibilities and suggest that others consider doing the same. This is NOT about coding in a particular programming language. This is about understanding the issues to be solved and about 80% of that comes before the Coding begins.

Link to post
Share on other sites
15 hours ago, Lanny said:

In addition to the 14 week long introduction to Linux, from the Linux Foundation, which I mentioned a few days ago (and am contemplating taking) since then I have received one or 2 promotional emails, from edX or Courseara, about courses that teach one how to use the Linux Development platform and tools.  Git, etc.

That's really cool for anyone who thinks they might like to work on Software Engineering projects.   I will explore both of those possibilities and suggest that others consider doing the same. This is NOT about coding in a particular programming language. This is about understanding the issues to be solved and about 80% of that comes before the Coding begins.

I'll second this. often, this sort of 'practical mechanics' isn't taught in school and yet it's super important. Efficient software engineers are good at these things. None these classes will tell you anything about how to program or even about logically how to solve the problem - but they will teach you about the systems in which you do such programming and on which your programs run. This is sort-of like wordprocessing class for authors. It won't write your book, but if you're constantly fighting the writing tool you won't be a very efficient author, either.

FWIW, this probably WILL improve your success as a Freshman engineering major. IMO, more than a Python class would.

  • Thanks 1
Link to post
Share on other sites

There was an interesting (to me) comment in a sub Reddit thread for a 200 level C.S. course my DD has just completed. Someone interested in taking the course wrote that s/he has very little Coding experience and asked if there was a lot of Coding involved. The most interesting answer included that it was one of the hardest C.S. courses s/he had taken and that there was very little (if any) Coding involved and that it was more of a Math course and that going to "Office Hours" was really critical. Probably those are wise words.  Flexibility is necessary.  

  • Like 1
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...