NOTE: For the spring 2019 syllabus, go here
Class participation encompasses a variety of activities, all with the same purpose. To earn high grades for class participation, you must show that you are actively engaged in managing your own learning, developing new skills, and developing new ways of programming and problem-solving. You can be engaged in a variety of ways:
Nobody has to do all of these things; you can earn top grades for class participation by doing just a few things well. In particular, nobody is required to speak in class, but everybody should be prepared to answer questions if called upon.
Professional interactions with other students and with course staff are the same as those which are expected in any workplace. It is also professional for you to recognize that a member of the course staff may be present but not actually available to talk about COMP 20.
On the first day of class, the first three weeks will be opened for everyone to accomodate those who want to work ahead on assignments. This is to be flexible for those who are working or have travel planned.
By the end of this week, you will learn how the web works, use the developer tools in a web browser to see HTTP request and response headers and data, and use Git and GitHub.
By the end of this week, you will be able to create a static website with a few pages using HTML and CSS --from scratch, and you will create a web page that responds depending on screen width on a web browser.
By the end of this week, you will create a server-side (or back-end) application and deploy it to Heroku where it can be made publicly accessible.
By the end of this week, you will learn the basics of web security including to never trust user input, break a web application, and identify vulnerabilities in a web application.
Generally speaking, workload is hard to say because the skill-set of the students varies: from those who have just completed Introduction to Computer Science and/or Data Structures to those who already have a Computer Science degree. In terms of number of hours you should expect to spend per week, my rough estimate and expectation is anywhere from 3 to 10 hours of work a week.
All labs for a given week are due on the following week on a Wednesday at 11:59 PM (so yes, a week-and-a-half to do all labs for a week). The new week will be made available on Monday morning at 10 AM. Late labs are not accepted.
This course will be a fun one for sure. A few notes on the expectations and structure of this course:
There are many good reasons why I will not do any of the above items:
Adding constraints and extra burden to your lives especially during the summer will not fit well with anyone. Extra constraints and burden also defeat the purpose of an online course. Thus, you will probably not see me at all this summer.
You can choose to:
Your choice, but the latter three choices are not wise.
A very important point: if you want everything gone over in lecture or in notes, then this is not the course for you. More importantly, that's not how things work in real life.
Each week, there will be at most three labs (and a quiz every other week) to hone your skills and to aim at the crux of the matter for the week. Here's an analogy: you don't learn how to cook simply by just reading cookbooks and watching YouTube videos. You learn by making, using your hands, and making mistakes.
It is your responsibility to ask questions early and to ask for help...
Share thoughts and respond to other people's questions. I will be online constantly, thus the idea of set office hours almost becomes moot point. It is no secret that I respond very quickly unless I need to be away.
There is a very good post published by Northeastern University: "How To Be a Successful Online Learner." Link: https://www.northeastern.edu/graduate/blog/successful-online-learning-strategies/.