Additional Computer Science Cources
I was slightly disappointed to see that the only computer science classes available are for Javascript. Are there plans to add/develop classes for other common languages such as C++, Python or even 64bit assembly?
I was slightly disappointed to see that the only computer science classes available are for Javascript. Are there plans to add/develop classes for other common languages such as C++, Python or even 64bit assembly?
Yes, please would be really great. Assembly 32 / 64 bit, C/++ , python, and maybe even VisualBasic.
I remember that we had python but now it's gone??
Yes, I support the idea of adding some other language.
Yeah, I think so too. I use HTML and CSS primarily and also javascript, and it would be cool if you can all put them together
The present JS is a good way to introduce kids to the basic concepts of programming. But I agree that a course in standard JS as used in web pages; python would be good too.
There is a case to be made for teaching a strongly typed language such as pascal too.
I can also see merit in having a course working with databases. Would Khan be able to broker a deal with FileMaker to provide a limited version of FMP for student use? (A limitation of 10,000 records allows you to create small useful apps, but wouldn't dent FM's main business.
C Sharp, Java, VB.NET, and Objective C
I think they should add these programming languages to their site so people can make not just web apps but apps for windows, ios, and more devices these are very import and good for people to know.
The language to me is irrelevant, I'm more interested in more Computer Science concepts being taught. Where are my Data Structures and Algorithms at?
I think mainly HTML and "pure JS".
Pure JS means the canvas is replaced with a "console" with an input and a text-only log. Then the tutorials on objects, functions, etc can be pure-JS.
HTML would be done with a default 640x480 (instead of 400x400).
Oh, you can learn python in https://www.pythonanywhere.com or in https://www.python.org or in http://www.codecademy.com/en/tracks/python
C++ is very lookalike to java, it uses really similar mechanics, but for some things it's easier and for others harder, like booleans.
Also, good that now we have HTML and CSS! Yay!
I see the answers below on things like database and algorithms were written before a whole lot of new content in the Computing section of KA was released a little while ago, so I thought I'd add the following:
You can now learn Algorithms on Khan Academy thanks to the contribution of two Dartmouth College professors. The concepts here are applicable to any language -- some good straight CompSci content! You can find it here: https://www.khanacademy.org/computing/computer-science/algorithms
There is now some content on the basics of SQL from the Hour of Code 2014: https://www.khanacademy.org/computing/hour-of-code/hour-of-sql/v/welcome-to-sql
And as for other languages and technologies, there's a lot of new content on HTML and CSS that's been added fairly recently, also: https://www.khanacademy.org/computing/computer-programming/html-css
Hopefully you'll find something you like in the new content. If not, at least you can see how much they're continuing to expand.
I am going to refer to a few principles taught at University. I think that Khan Academy does a good job at explaining subjects like encryption, binary search and so on. Object oriented programming as a concept is important to understand but if you use Python or C++ as your starting point is of lesser interest. This knowledge can easily be converted from one programming language to another. I had never written anything in javascript before I started to play with Khan Academy.I had some knowledge of C++, Java, Python, PyMEL and MAX scripting. Once you learn the basics you can easily shift between different languages. Once you know the basics I would suggest that you install an Integrated Development Environment(IDE) such as visual studio or Eclipse where you have autocompletion, detailed error messages, possibilities for debugging your code and so on.
Personally, I think that Ruby is a much easier form of Python (because it's a combination of Javascript and Python). But also, languages used to make games ( C#, C++) would be great!
C
Programming is programming... I have spent the better part of the past 38 years coding in different languages... generally, I spend about 18 months to become moderately proficient in a new language. Last week, in order to use Angular Material effectively, I watched 9 hours of videos from Udemy on TypeScript. I've now written a great deal of code in it, but I'll need a few months to become even mediocre at using it. In fact, I wrote a small compiler in it as a first project... I suspect it will be some time before I've managed to get the hang of all the different patterns sorted out.
People as asking for a programming course in C or Assembly. This in my opinion would be somewhat meaningless without some deeper context.
Back when I was university aged, we learned the architecture of the MIPS4000 CPU. It would be very interesting to have a course on this site which is similar to that as well as something like the Andrew Tanenbaum courses on Minix and operating system theory. I don't have the time in my schedule to do this as this time, but I would be willing to cover CPU architecture, compiler engineering and operating system theory if KA would have me to do so in 2020.
As someone who made a career for years on codec development, I'll stand by the comment that coding in assembly has little value today. It's far more important to understand modern compilers and how they generate code and how operating systems schedule it to execute on the CPU. In addition, assembly has little value if you don't understand how DDR memory burst operations work. You'd make really fast computational code, but you'd suffer greatly because of cache misses.
Lots of universities in the past used pascal -- it's strongly typed and requires pre-declaring variables before use, and subroutines require an explicit return. Modula 2 and 3 were like that too. At the time nerds referred to these as "Discipline and Bondage languages. The default version of Pascal wasn't very useful. You couldn't do much that was interesting with it. UCSD pascal had turtle graphics, which made it possible to do some interesting things. Borland changed the landscape with their version which lowered the price from 700 bucks down to 40 bucks. You couldn't copy the disks and manuals for $40.
TPascal had a decent IDE, and compiler options for doing range checking, for taking advantage of FPU if available, and take avantage of features of the processor. E.g. you could compile for use on an 80286 up to Pentium. Pentium code wouldn't run on the 80286, but the latter would run slowly on a pentium.
Different languages have different purposes different things they are good at.
What would seem to me to be appropriate would be to have several languages to choose from, and an environment that allowed you to use them in a fairly free and easy manner.
For use by young kids, some form of Logo or Turtle graphics would be good.
Javascript for web developers.
A C variant for OS developers.
What if my organization wants to teach a new programming language course? Who do I contact?
Thanks!
Iniciar sesión para dejar un comentario.