QUICK COURSE LINKS: Add blog post - Read latest group posts - Course Moodle site
FAQs: Course process : Site design : HTML : CSS : JavaScript : JQuery : AJAX : Misc : Accessing your web space at AU : Podcasts for each unit
Updated resource pages: Unit 1 - Unit 2 - Unit 3 - Units 4 & 5 - Unit 6 - Unit 7
Important notice: the student web server is unavailable. Until this is fixed, we do not require you to upload your site to the student server. See Running a web server on your local machine for details of how to meet the requirements for the final unit, and my posts on the subject in the discussion forum for further information about the problem.
Testing of a new server is in progress: if you would like to get early access and you are unafraid of working with command lines, network settings, and conf files, please contact Gerald Abshez, asking to be part of the trial.
I like your approach....What Went Right and What Went Wrong.
Helped me think the processes through in a more constructive way.
I tried Firefox 57 and the experience for me was the exact opposite. Typical of a corporation programming elite controlling the world. Non of my past extensions worked (0 backward compatibility), the speed did not improve, and I lost access to my Adobe Acrobat XI plugin. But hey great advertising by Mozilla, and trying to stop the automatic updating was a displeasure, in particular updating plugins in FF 56.02 seemed to auto-update the entire web browser. Fortunately I have backups, otherwise I would be forced to buy a whole new computer system just to use Firefox 57 on my 7 year old MAC.
PS. The only positive was that Google docs worked better in FF 57; I am glad someone else had a better experience, but I will be frozen at FF 56.02 and use Chrome/Safari for Google docs...
Can you clarify something for me? The second last paragraph about concurrency doesnt make sense to me because I thought Javascript was single-threaded based on what I've read about it.
Can you clarify something for me? The second last paragraph about concurrency doesnt make sense to me because I thought Javascript was single-threaded based on what I've read about it.
JavaScript is indeed single-threaded. When it talks about concurrency it is (I think - haven't checked the article again but this is normally the case) most likely referring to aynchronous execution, where a function can be busy doing something while other code is executing, for example when using a setTimeout function. This is really just task switching rather than using multiple threads, but it performs much the same role. Technically, it is also true that, when you have two or more tabs open, the JS engine will usually run the code in multiple threads, but there can be no communication between them so there's not much use to be made of it. Finally, JS can do a kind of almost-multithreading using Worker functions, that copy a script into a separate thread that can be used to exchange messages with the main thread without blocking its execution. If you use such things, it would be great evidence of advanced JavaScript skills!
Jon
A few things. C# is open source. The design repo is here https://github.com/dotnet/csharplang. It is also an open ECMA standard. https://www.ecma-international.org/publications/standards/Ecma-334.htm. 10 years ago you may have been right, but Microsoft has been moving in the direction of making it open source for quite some time.
The other thing is that I don't see JavaScript supplanting compiled languages any time soon because JavaScript is terrible to maintain the larger the project gets. Lack of strong typing is a big drawback for me, though there are tools to help with this such as TypeScript and Flow.
In the article you mentioned, most of the large companies you mentioned are still using traditional server side languages for the backend. For example NetFlix is only using JavaScript on the front end only. The back end is still Java. Most large scale apps would not trust their business logic to JavaScript.
One reason JavaScript is so popular is because it is the only front end language available. For backend we can choose PHP, C#, Python, Java, Ruby ... the list goes on, but for front end there's only JavaScript.
I'm not knocking JavaScript or anything, but I don't plan on using it for anything more than front end.
- Louise Eggleton
Good points, Louise, thanks - I was certainly being unfair on C#, though I still think it is a redundant and pointless (and largely pointerless!) language that was more a result of marketing than genuine need.
I guess the big thing I like about JavaScript is its flexibility: not so much technically, as in the way it is embedded in practice. It's like Wordpress - at best so-so architecturally, and nothing like as good as much of the competition when looked at from an objective design perspective, whether in terms of learnability, ease of development, speed, reliability, maintainability, scalability or whatever. However, the overwhelmingly vast number of developers, trainers, administrators and sources, not to mention an enormous range of extensions/plugins/libraries/frameworks to fill in any gaps, mean that it can do pretty much any job at least as well as anything else (often better), with the huge benefits that come from sheer scale. You'd not pick it as a backend if all else were equal, but all else is not equal because we are, as you say, pretty much forced to use it on the Web front end (for now - wasm may change that). Why struggle to stay fluent in two languages (and deal with the hiring, training, maintenance, and other associated costs) when one will do? I still struggle unnecessarily with different curly bracket languages because I constantly forget which slight syntax variants and constructs matter in which language: I'd rather focus on depth than breadth. Useful, too, that it is increasingly embedded into many native apps and operating systems. Mind you, much of this was once true of BASIC too, which is barely a rounding error in the statistics any more, so who knows?
It's too early to tell whether wasm will significantly impact JS growth. It makes it much easier to write front end stuff in other languages, and to run code at nearly native speeds, and it has a very powerful consortium behind it, so it's hard to ignore. However, the Web browser is not quite the driver that it once was, and JS has a lot of momentum across the field. My suspicion is that whether it affects JS growth will hinge as much on libraries and frameworks as on the languages themselves. Personally, I'd like to see Python replace JS - not perfect by any means, but it has the best balance I can see between ease of learning, power, elegance, maintainability, maturity, and developer community.
C# may have started as a marketing thing, ie as Microsoft's version of Java, but has some features beyond what Java has such as LINQ, Asnyc/Await, Nullable types. I come from a web programming background (Perl,PHP,VB Script, Cold Fusion) and switching to C# was the best thing I ever did. I love the C style snyntax. I can't tell you how much I dislike Basic style syntax like Visual Basic. I love the Visual Studio IDE and I love strong typing and objected oriented programming. I sound like a Microsoft fanboy (girl in this case), but actally I have been won over to C# despite healthy scepticism about Microsoft.
The reason I decided on C# is because I can reuse the code in multiple applications. We have a web application, but also several scheduled console applications and soon a smartphone app, all of which can be done in C#.
I suspect Java would have also provided many of the benefits over the interpreted languages I used in the past, though my understanding is that it is a liitle more invloved to port Java to web applications.
I don't mind having to use different tools for different things, though I do also get mixed up at times with different sytaxes for different languages. That's when a good editor/IDE comes in really handy.
Haven't learned Python yet, but am familar with its syntax and understand its appeal.
I am very interested in learning TypeScript as it addresses a lot of issues I have with JavaScript.
wasm sounds very interesting. I had a look at the link you sent. Coud be a while before it comes to fruition.
Hi Zakaria! Good advice. There is a lot to read through, and taking your time through each step seems to be the right way to go. I'm officially starting the course in August, but I thought I come scan the requirements ahead of time.
I'm also predicting difficulties with keeping a journal. This will be my first time doing so, and the task seems daunting. I, like you, will keep it simple.
Good luck with the course!
Hello I have reviewed the html code and I would like to suggest to add a few line of comments at the beginning of the code as well as add the comments in the code and here are the points that we should keep in mind:
Why you wrote a particular function or other code block
What task the code block is supposed to perform
Who requested the code block
Why you used a particular technique for writing the code block
Which resources you used to create the code
How the code was created and tested
Who worked on the code (including contact information)
When the code was created
Source: Mueller, John Paul. "Chapter 3 - Integrating HTML5 and JavaScript". HTML5 Programming with JavaScript For Dummies. John Wiley & Sons.
Pretty awesome, it reminds me of https://bellard.org/jslinux/ where you can try out what using a Linux terminal would be like.
Welcome, Jonathan!
Indeed, lorem ipsum would not do, unless it were a site about nonsense Latin. Part of the idea behind the course is to encourage a bit of design thinking, so what you produce needs to be fit for purpose. At least, there has to be sufficient appropriate content that we can see how and why it is appropriate. We don't mind the use of filler where you have already demonstrated that the site fits its purposes, personas and scenarios, but there always has to be some relevant content. Maybe one way you might make it fit your needs would be to create a site about the technical side? That could be a great exemplar for other students and it would be terrifically easy to generate those personas and scenarios - they are all here on this course!
Re the grading criteria, there's a little bit of professional judgement involved (true of the authentic assessment of any creative pursuit like programming and web development) but the criteria are fairly easily applied and we have a moderation process that helps to keep things consistent. The moderation is barely needed as there's notably little (if any) discrepancy between markers, 99% of the time. On the whole, we tend to agree with the majority of student self-evaluations too, albeit rather less consistently: by the time students have learned enough to really understand what the criteria mean, they tend to be exceptionally good at identifying how well they have done. Most of the times we disagree tend to result from students prematurely submitting finished work. One of our students has volunteered his work as an exemplar, that I will link to once it is fully ratified so that you can see one way of doing it and get a sense of what we think of it. If anyone else would be willing to share, do mention it, because I'd like to provide more examples, especially good ones! I very much want to avoid channelling anyone to take a particular kind of path, however. One of the things I am most pleased with in the design of this course is that there a millions of ways to succeed. In fairness, there are as many billions of ways to fail as there are millions to succeed, but almost all the students that complete the course take one of the successful paths, at least by the end.
The lack of hierarchy and top-down control on the Landing is very intentional. Apart from the odd bits here and there in groups that might reflect a more rigid hierarchy, it deliberately follows two social patterns, network and set, that are substantially hierarchy-free. The form reflects the function. It's exactly because it is not neatly organized from the top down that it is worth using instead of a teacher-controlled space for the kind of work done here, where we are trying to to reduce the boundaries and barriers to the minimum and to positively encourage and nurture diversity. We don't want to make you think like us - we want to help you develop your own thinking, as well as to valorize the diversity of skills and talents of our students so everyone can stand on the shoulders of everyone else. I agree, though, it doesn't make things easy to find and it certainly feels quite confusing and chaotic at times. It's more of a fast-flowing stream, with the odd pocket of organization like an FAQ poking its head up here and there, than a carefully organized catalogue. We continue to use Moodle too, exactly because it gives us control and supports such hierarchies. Horses for courses!
I hope you enjoy the course. It's not like most courses and it does take some getting used to, but one of the things I really love about it is that, unlike its predecessor, we often get passionate students producing masterpieces rather than simply doing what we have told them to do. Even those that are more focused on grades frequently produce amazing work: we've tried hard to align the assessment with things that are meaningful and useful. Another thing that I love is that, once the marks are in, the lessons are not forgotten but can be built upon and retained indefinitely. When it works, it really works well! If it feels confusing, or you feel lacking in direction, do use your tutor and, especially, this group to help find a useful path.
Jon
Sorry Wayne, I accidently put it in my personal files. I put it in the group file now. Let me know if you see it! Thanks!
I was unable to access this file--perhaps it's in your personal Files area instead of the Group files?
Hello Wayne, i accidently put in my personal files. However, I have edited this post and put it in my group files and also resubmitted this unit in other post in case you still cant view this. Thank you!
All good! It's a good time to think about better formatting and commenting of your source files unless you run out of time...
Thank you for your feedback!! Can you please elaborate on what you mean in regards to formatting and commenting of my source files? Im sort of confused on what you mean.
-Nirmal
These are all viable though since we can't use sendmail on our SCIS websites #4 would mainly be good practice in using regular expressions for form field validation.
Since you're running very short of time, perhaps you should choose whichever you're furthest advanced on--probably those associated with your slideshow-gallery?
The most important aspect is to be sure you illustrate sufficient coverage of JavaScript.
I imagine already having your own website content will make the next units a bit simpler!
I haven't heard back yet on my unit 1 submission, but I also submitted it using the " Design documentation reviewAssignment " link on the main course page.. I think that's how it notifies our tutor that it is ready for review?
Thanks! It is asking for the URL to this post but I don't know how to find that. My landing page opens in its own window but doesn't display a url for me... Any ideas?
The Landing is a social site for Athabasca University staff, students and invited guests. It is a space where they can share, communicate and connect with anyone or everyone.
Unless you are logged in, you will only be able to see the fraction of posts on the site that have been made public. Right now you are not logged in.
If you have an Athabasca University login ID, use your standard username and password to access this site.
We welcome comments on public posts from members of the public. Please note, however, that all comments made on public posts must be moderated by their owners before they become visible on the site. The owner of the post (and no one else) has to do that.
If you want the full range of features and you have a login ID, log in using the links at the top of the page or at https://landing.athabascau.ca/login (logins are secure and encrypted)
Posts made here are the responsibility of their owners and may not reflect the views of Athabasca University.
We block sites that track your web browsing without your permission. If a link is greyed out, click once to enable sharing, once more to share.