So everyone.
And oh, thank you.
Thank you for. So I just want to say, Welcome everyone to Comp. 24.
I just got a tip that I can pop out my chat window, which.
Makes my life a lot better.
Because.
This.
And we're doing this right now on a small screen. I just have my laptop here, for reasons I will explain.
But you all should be able to see.
The
The course outline.
So today's class is gonna be a little
Yeah.
A little less structured, because basically, what I want to do is just go over.
What I'm expecting from the cloud from you all how the semester is gonna go.
I'm a little behind in some of the setup.
Basically, I can say, I'm.
I'm in the middle of preparing a.
An expert witness report.
Right now.
I'll just say I'm.
I'm.
Taking on some rather large tech companies. You can talk to me private and tell you more about it, but I don't.
Want to do anything, talk too much about.
About a recorded lecture.
But.
Any case.
I'm right now a little too over, committed up until.
Monday, and then I'll be able to focus on the semester. So I'm a little behind.
But.
But that doesn't mean we can't have a good class now.
So to start off.
I just wanna.
Let's just go through the outline. Tell you how I approach things.
My approach to teaching. Most of you will.
I don't think any of you would have had meeting class at this point, because I normally teach 3rd and 4th year classes.
And I was on Sabbatical last year.
So I wouldn't expect
Maybe 12.
Which I've worked with so.
But.
One thing is, I like to.
Try different things, and I think you'll see how I.
I do things a little differently.
So 1st off.
Here's the course. Outline comp. 24, 6, fall, 24.
I put 24. I I should really update this to be 24 A and B, because it's the same course outline for both.
24, 6. A is an Async. Section 24, 6 B is the synchronous section.
I don't see them as fundamentally different.
In how the course is going to be taught. There is one.
Now there's 1 bright space thing. I got them to merge it. Sorry for some of you saw the bright space disappeared, and then we, you know, reappeared, is because they were merging sections.
So we have a merged section on bright space. There's only one class teams is only one zoom.
The synchronous lectures are recorded, those the lectures that should be watched by the Async section. So I'm treating this as one.
Large class, and it's a pretty large class. I'm.
See today, we have.
How many people do we have here so far?
I see
It's a good number.
Yeah, it's good number, anyway.
I'm sorry. So in terms of logistics I have. There's about 14 assistants. I'll be introducing them more to
Later.
I haven't met all of them yet, so we'll be taking care of all.
Lectures will be synchronous here. Tuesdays, you know, via the zoom.
Or maybe a different zoom.
I may have to change it because the merge section, but I will make an announcement for that.
But it'll be Tuesday, Thursday to one. Of course, it really means we're on Carlton time, and we'll start at 1135. It will end at 1255.
But there's that extra time, and I'll try to be on zoom.
By 1130. So we can.
You know. Make sure things are working.
You should all be assigned to a tutorial section.
And there just you all know.
One of the reasons this class is online is that I do not live currently in
Okay, that's not good.
They're looking bad. Do let me know
But.
I do not live in Ottawa. I currently live in Nashville, Tennessee. I try to stop by Ottawa when I can.
But for various reasons. I'm living in Nashville, Tennessee, and I've been doing that since.
2019. So I actually started doing this before the pandemic.
For for various personal reasons. That's actually where I grew up.
In Nashville, and I'm hoping.
Spend more time now in Ottawa, but that's.
That's a process.
One of the
So as a result, I really.
This course really is online, even though there are in-person.
Tutorials.
So what that means is.
Exams are, gonna be online, your assignment is, gonna be online tutorials.
Well, I do encourage you to go in.
And I think that's really good. There will always be options to do your tutorials online. But I'll explain.
How that! How will that will work.
So you're seeing this thing. You know this page here there is a.
Link here to the main course website.
Which is this which right now does not have much of anything. If you look elsewhere on my wiki, you will see what I've done in past years. You'll also be able to see.
What the
I haven't taught this course since 2016. It's.
Been a while.
But I will say that was the one who 1st created this course. So I'm looking forward to.
Updating things so.
But that page is going to get a lot more populate stuff. And in particular recordings for these lectures.
Will be available through the wiki. I'm hoping to also have them available through Brightspace.
But I definitely will make them available to the wiki, and you'll be able to see. Course, here's the lecture.
Let's do the official course. Description.
So.
Okay, I'm just trying to.
Deal with too many windows. I'm really looking forward to.
When I'm not doing this on a laptop. Oh, by the way, I'm not in.
Just to be clear. I'm not Nashville right now.
I'm in
New York.
How much later will the recordings be posted.
I am
I tried to do it shortly after.
After this lecture I will at least post a basic link to it. I'm not gonna have the full web page formatted, but I can at least get the 1st lecture recording up.
So yeah, it should be soon after it takes a little while for zoom to process the video afterwards.
And then I have to download it and sync it and stuff, so give it.
Half an hour.
After the lecture ends before it's posted, and sometimes I might have to go away. But.
They'll certainly be the same day.
So. So one thing funny you'll notice about my courses is that I have this.
Course. Wiki.
This is not Wikipedia.
But this is running the same software.
That Wikipedia runs.
So if you go to the main page, those are old links. I have to update that. But you'll see. I'll have courses here.
That go back.
Oh, my goodness! It goes back to 22,000.
Yep.
Yeah, yeah, I've been using this for a while.
One of the things. So one of the things I like about.
Having this wiki that I so this is homeostasis is my own.
Machine used to be my desktop in my office at Carlton.
Yeah.
Yes, I create 24, 6, yeah, so I first.st
So this wiki.
Used to run on my desktop. My desktop was homeostasis.
But now homeostasis is a Vm. On the
Is is a Vm. In the Scs. Cloud.
So they they have an openstack instance. And so that's where homeostasis lives. But it's my Vm. I maintain it. It's if it goes down. It's my problem. Unless the openstack.
System is down.
And one of the reasons I like doing this is because.
God. I have 20 years with the courses on here. I'm just realizing that's a long time. And so like it's Media Wiki. So Media Wiki ain't going anywhere, and it's you know.
It's maintained. Well, so it's nice. But a side effect of that is Media Wiki doesn't really.
Doesn't do private access that well, it's really designed for public access. So all my content.
Is.
World, readable.
So you're welcome to go back and look at old versions of this course.
I, as you'll notice I change things every time I run a course.
So.
Don't follow the old material and look at the old material will not give you an unfair advantage in the current course.
It's just there for your reference, and it might be useful.
It's all you know. It's other perspective on things.
Over here.
So so am I fixed on the zoom format and zoom recordings. My work. VPN blocks all things. Okay. So
Yeah, I'm not doing teams. I've tried using teams for teaching
It's 1 thing to use teams for small things, but.
Yeah, no, I'm I'm gonna stick to zoom for now, unless I mean, zoom decides to.
Break on this, and I might say this to be this week. We gotta do teams, cause zoom doesn't work, so it's nice to have it as a backup.
But I'm not going to be.
Doing this as a not gonna do this as a as a 1st thing. Sorry.
But the good thing is that the lectures are
The the lectures are. How do I say this?
They'll be recorded. So if you can't get to it, you know. Watch it when you can.
Let's go back to.
Talking about. What's
Going on here. So.
So yeah, so we've got there's like 14 assistants, you know. So we have lots of support for doing this. There's also a lab coordinator.
Be helping out things. So we have a lot of people to help run this course.
There is no final project for this course. I will explain my reasoning for this.
In a little bit.
Oh, goodness!
Why can't you just.
There we go. Oh, that's why.
Okay, so.
Yeah, follow this list.
Yeah, so just to understand. So.
You know other. There's other instructors who have been teaching this course for a while.
That's not how I 1st taught the course.
And the reasons I did not teach it. Well, actually, I did. Do I think a final.
Project in my early versions, but I changed away from that.
And I'll explain why in a bit. But.
Let's just read this course description, because I should really do that in this 1st lecture.
So introduction to Internet application, development, emphasis on computer science, fundamental technologies underlying web applications. Topics include scripting and functional languages. Language based virtual machines.
Database, query, languages, remote procedure calls over the Internet, and 4 min and security concerns in modern distributed applications.
Includes experiential learning, activity.
Includes additional credit for.
4, 504.
And pre and prerequis.
Basically 14, 0, 6.
With a minimum grade of C minus.
Lecture is 3 HA weekend for a 1 and a half hours a week.
So.
So what is? That's a good question. What is experiential learning, activity? It's this kind of thing where
It's a bit of an education buzzword, but it really means that.
The course isn't just.
Lectures.
I'm not just. It's not just me talking. There has to be something else. And what that really means is, you know, we have these tutorials where you can work through these exercising of people around, that you can ask about it. And so.
You have to have this hands-on thing. It's not just.
Theoretical.
So.
What's the experience? I mean?
That's something that you know Cross will argue about in committee meetings. What really experience means.
So where can we find access to assignments and tutorials?
The main class page.
Right now. The links aren't there yet.
But they they will be, and if you look at the past runs you'll see how I'll format it, and I just.
Again. I'm running behind.
So in terms of.
How.
Grading will work.
I'll I'll talk about all things what you need installed and stuff in a bit. But so, in terms of grades.
Okay, I actually answer this question. So what email should you use to contact me? The email you should use.
Is
This one.
Yeah, this one. A Neil saw Meag Carlton. Ca, which is which is actually my. See you net address, which is a Neil Somiogi.
At Cuet Carlton. Ca, my scs account still works. Soma at Scs. Carlton. Ca, but you don't want email me there because I get way too much email there, and I'll probably miss it.
And frankly.
Even email, to.
This address.
You know, May, or you know, I probably will, apply to it eventually. But the best way to reach me you'll see.
Will be
Teams.
But yeah, everything's gonna be so.
20% for tutorials. So 20% for tutorial participation.
There's gonna be us.
Assignments will be 4 assignments.
There'll be lecture quizzes.
I'm not having one for this lecture.
But I'll have one starting next week and 24% for the midterm and 30% for the final exam.
So add all this up. It should
Yeah, 24 plus 16 is 40 50. Yep, that's a hundred percent.
I've had times with it, being.
No, I messed up the adding.
Didn't do that this year. Good!
So.
Let me explain what these are. So 1st of all, let's do the easy ones. Midterm final. Exam.
Though you know the midterm and final are your conventional tests, except they will be online.
I'll explain how that works. I do not like using.
Anti-shating software.
Like Lockdown Browser. Other things. I'm a computer security person. I knew way too many ways to break these things.
And I don't think I want to turn that into a game.
So. But I do have some.
Incentives for people not going off on on cheating and stuff, and I will explain how that works.
So so the question is, I'll talk about communications in a in a second. Here. But.
Don't worry. Forget that. So.
Final exam is, so these are 2 regular things, they, these will be purely online.
So.
You had to go anywhere for that. I'm not gonna do classrooms with pieces of paper and stuff.
Lecture quizzes.
On bright space. There'll be a little quick, quiz. It'll be like multiple choice, maybe fill in the blank. Really simple. The point of these is just to make sure you're keeping up the lectures. I know that sometimes students.
Fall behind.
With watching a lecture, and they try to watch them all.
In one go, and if you do that you're gonna lose 10% of your grade because you won't be able to submit the lecture on time.
So you'll typically have about a week from when a lecture is released before you have to doecture quizzes. But the whole point is, you gotta keep up with the lectures as opposed to just.
You're doing it all at once. It's but again they won't be hard if you listen to lectures, do it, and probably for a lot of the lecture.
Lectures you might be able to do it without if you have some background in the area. But
So we'll probably be silly questions of like, oh, you know.
That can only really be answered. If you actually bothered looking at the video.
So, and then
For assignments. Again, there's gonna be 4 assignments. You'll just upload your answers to bright space, that's all pretty straightforward.
If you wonder how the midterm stuff will be structured, go back and look at my old midterms.
They're all online.
It's gonna look something like that.
But based on whatever we end up covering the 1st half of the class.
So.
In terms of structure. You'll see I tend to like short answer. I don't know.
I'll do multiple choice for the lecture. But I doing multiple choice for the midterm or final.
It's all gonna be short. Answer.
So.
In terms of. So that's the.
So that's the assignments. Now, the one thing I got this 20% for tutorial participation.
I really see that as tutorial participation, every tutorial you're gonna have a set of tasks with some explanatory stuff. It's gonna be a post of the wiki for you to go through.
I will cover the material of the tutorial in lecture. So way this works is basically be every Thursday I'll be released. The 1st tutorial will be released a week from today.
And then.
You know there's all the tutorials scheduled at various times. That'll happen before the next Thursday. So you should be. The idea is you get the tutorial done.
Before the before the following Thursday of a week.
But what we care about is you is the participation. So the simplest way to do this participation show up in person.
To a tutorial.
You sit there.
You try working on it diligently and at some point there, probably towards the end, but May in the middle you talk with a ta, and show them that you've been making a diligent effort on this have made some progress.
Some reasonable amount of progress, and you'll get full credit out of 4 if they see you slacking off.
If they see you kind of like.
Not really
Focus, just chatting with your friends or something.
They may give you a 3 or 2.
Or something, I mean, if you just show up, you'll probably get it too.
But you're gonna put some effort in to get a 4.
Now, you might say, but I can't show up on campus, you know. Convenient.
That is fine, but in that case you have to have a conversation with the Ta.
Either in person or online.
Via zoom or teams, or whatever.
You know where you chat with them and show them what you did.
So the easiest way, of course, to do that is just.
You know.
Show up in person.
You.
Can do it.
By going to their office hours if you can't make that. But basically the ta should not be. You.
Spending any time.
Creating tutorials.
Beyond you beyond you, being in class.
You know, be in tutorial or.
Being in their office hours.
You can't email them answers and expect them to grade them.
And I'll explain why. That
There is no class.
Yeah, I'll I'll talk about communication a second. So but
There's no class discord.
But but this is.
I really want you to participate for this. The great is that you're making an effort. You it's up to you to work through it and say, do I understand this or not?
And.
The test of whether you understand it will be how you know the assignments.
So
What do I want to?
I'll talk about the learning objectives in a second. I'll skip that. Let me talk about communication.
So.
You submit coursework through Brightspace will not have any learning material.
It will just, that's all. On the wiki. The course we wear all the course material is that's where I'll put the lecture recordings. You may also build actual recordings.
Bright space.
But.
The wiki is the canonical source.
We're gonna do.
You know lectures use if you made it here, it's via zoom, and then there'll be also.
Downloaded copies, now in terms of like.
Communication to chat with me. The best way is teams. So if it's something of interest.
To the class.
Post it in a channel.
These lectures are definitely recorded, and the other one's being recorded right now.
And
Yeah, and.
But teams. So we're not using discord. I mean, if you guys want to go set up your own discord, whatever that's fine. But for if you want to interact with me, interact with the tas, we're doing it through teams. Now, I have used discord in the past.
I was probably one of the first.st
Maybe the 1st profit to use discord for classes was a long time ago.
I have nothing against discord. I think it's a great platform.
But it's a bit informal. It's a bit socialization, and what I've had trouble with it. Sometimes people do not.
Behave in a way that's appropriate for class. I find that when we use teams.
People tend to realize. Okay, this is a.
More formal, academic.
Environment. And people do that. I mean, I'm not gonna say teams is the best interface, but at least it's tied to Carlton single sign on. So also I know who all of you are when you message me.
So.
If it's under general interest.
Post a question to a channel. And so, like, you know, here's you know, so I'll show you. So here is.
You know. So you see, teams.
This ta channel, you shouldn't see that that's private channel, but the rest you should see.
Any announcements.
Only
You know me, and the Tas can post to that.
All the other ones, and then the Tl, that's private, the other ones you all can post to.
You post questions right now they are unmoderated. If people start.
Acting up. I'm not planning on imposing moderation, planning on having
Conversations.
With folks.
If
You know you.
If there. So if it's general interest posted there. But if it's like private.
Send me a direct message.
There's a chat function.
Just send me a message.
I do not have scheduled office hours.
Because in my experience.
Very few students show up to office hours, and really the purpose of office hours.
Was to give an opportunity, you know.
When you could actually interact with the Prof.
My basic philosophy is.
Send me a message.
You could email me again. I can't guarantee my email. I'm always buying on my email.
If you message me.
I'm much more likely upon.
Respond more quickly!
And if it's something that would require a longer conversation, I'm perfectly happy to do it, and we'll just schedule a slot.
To chat, you know, for, like you know.
But you know, however long, you know, makes sense, we'll we'll set up a chat to talk, or maybe I'll message, hey, can we? Just, you know.
Get on a call right here, or something. If we're messaging at some point.
So.
I can't say I'm always gonna be available, cause I'm I'm busy, you know, other things going on. But
I, you know this is my top priority for this fall.
Teaching this course, and I'm looking forward to interacting with you. So please do best. And also you'll be able to contact your tas. Similarly, you can message them over teams.
Outreach them.
What's the code for teams?
I don't know the team's code.
I have a link to it from bright space.
So if you follow that link.
You should be able to request access.
For teams.
That should that should work pretty well, because, like.
70 of you have done it already.
So.
Any questions further on communication.
Then I want to start talking about the material, of course. Oh, one other thing is like.
There's no required textbooks.
I'll post various resources. I mean, this is a web class. There's a billion web online things, and.
I've not found a textbook that.
Everything I'd want to cover, and the nature of the web is, it makes it hard.
So.
At what point will access be granted for teams? I've been doing it as I can. I would do that right now during the lecture, but.
I'm you know.
I will do that afterwards.
But yeah, so I'll whenever put in the request. Now I should do it right. After a lecture I'll I'll click, and it's accept all, and you should have access.
So in terms of material.
So what do I want you to be able to do after this class.
I want you to understand the basics.
Of these technologies.
You know they're associated with the web. This is what I want, you know. HTML, Css. Javascript.
Probably less on SQL.
Little bit, but at least at least understand the role of sequel that plays in the web ecosystem.
So. And the idea is with this knowledge we should be able to build simple database, backed web applications.
And and you'll understand. You know, the performance security issues.
And.
As pro understand, like, how is this technology implemented at a conceptual level? What's the foundations.
What's doing things so.
There's a lot of material here.
So. So when you say, are you going to do back-end programming?
Yes.
Because we're doing javascript on the server and the
Client.
So it's it's we're doing front-end programming.
Going to do Javascript? Both.
We are. I'm currently unless it blows up my face. I'm planning on using.
Rather than node.
Deno is mostly compatible with node, but has a few key differences.
So.
I will!
One thing is in terms of required.
I'm gonna put this on here.
We're gonna have an openstack.
Instance, in openstack.
There will be, you know.
You know you'll have a Vm.
You all have used openstack by now, right.
You've all had vms on openstack.
I wasn't sure if that's.
Okay. Nope, okay.
Great, so we'll we'll introduce you to.
Yeah, okay, so so we're good. So this is Carlton's cloud infrastructure. You all have access to remote machine. I'll set that up. You do not have to use that. So so the idea is that this is a Vm that does not run on your computer, it's going to run in on someone else's computer. In this case the school of computer science is cluster.
If you want to run a virtual machine image locally
We can potentially have some ways of setting it up. The one problem with that is that if you want to show it to a ta have them look around. It's kind of hard, because then they have to go log into your Vm. If you bring it in. So I encourage you use the cloud infrastructure. I also encourage you use a cloud infrastructure because that's how all web applications are maintained nowadays. So you gotta get used to using the cloud.
So.
So yeah, so you're so you're so you're only learning. HTML, Css. Javascript and SQL.
Those are.
Yes and no, you'll see. But I mean, those are the foundational technologies. But understanding how they all work, it touches on a lot of stuff.
Sorry, but but again.
You don't have to use a class. Vm, we'll just have set it up nicely, and I'll include directions. So if you want to run it locally on your own machine or run it in a Vm. On your own machine. You can do that, but.
Yeah.
Beautiful campuses.
Well, that's not
So are we gonna use any front-end framework.
We'll see.
I'm hoping to use.
Ember, glimmer.
For the later ones.
There's some later ones, but we'll see how
Cause. I gotta see how you guys do. I always adjust it based.
On
That
If you have. So there's a question. If you have a newer macbook, can you potentially run things locally.
I'm pretty sure there's a version of Demo that supports arm.
But it may.
But you won't necessarily be able to download the exact image we have, although.
This Qemu, you potentially can. It's probably gonna be fast enough.
So yeah, course, notes, course, notes will be here. Most lectures. I'll be.
Have an emacs instance running, and I'll be typing a lot of notes and stuff this this one. I'm going over the course outlines. What doesn't make sense for me to tell notes versus what's actually written here?
Collaboration.
I recommend you all.
Read this.
Carefully.
And
So.
What's the basic idea of my collaboration thing? So if you look at the grains, I see.
Collaboration is allowed.
For everything.
Except the midterm and final.
Your midterm final. You, of course, need to do that on your own.
Everything else you can collaborate on.
Lecture quizzes. I'm not gonna care that much if you're really gonna try circumventing. That's like.
Fine.
But these things the tutorial assignments.
Tutorial. You're gonna talk to your ta. So they're gonna have to. You have to show them that you actually did it.
For assignments.
You're gonna have to say what resources you used, including what other people.
You know you know what other people are.
You know you do stuff with so.
But.
Let's be honest. We live an age of.
How do you say it?
Large language models you all know about Chat Gpt.
You all know about, and things like that.
You can use those.
As equivalent to using working with someone else.
They are someone to talk with.
To potentially get answers. But.
The work still needs to be your own.
So how do I.
You know. What does that mean? How am I gonna make sure that these things are your own.
So.
This is a thing that's new that I'm trying this semester.
This notion of metacognition.
It's not going to be enough.
For you to just.
Submit.
Answers that are correct or not correct.
You're not gonna just.
Show your work.
You're gonna have to say.
How you got your answer, and what was the process like.
So I want you to document.
Your process.
And so some questions like, Well, you know, this one was really easy, because I already have this background. I already knew this so I could. Just I knew that already. You got another question go like, Oh, my God, I had, I like, did this search, and I looked here, and then that's still what's confusing. And so I looked at this, and I talked to my friend and I that's how I can't. With this answer.
Or this one. I got this answer. People kind of said this was, I got stuff. I cut something else, and so I'm still confused.
I want you to put that in there. You're gonna have a section for each question you answer to talk about your process for answering that question, but other ones I expect to see some.
Some written text. Now, the reason for this is 2 things. One is, of course, I think it's a good.
It's a good pedagogical tool, because it forces you to reflect on how you're doing things.
And
It then gives something, for when you talk with me, or a teaching assistant for this to kind of go like, where are you going wrong?
Or you know, you know, when you have questions.
But the other.
Big thing is like.
Let's say you decide to be unethical and try to use a large language model to.
Answer, every question.
To be honest, if you use it right, you'd probably get the answer to a lot.
Put the material from this class by using a larger language model and.
It won't, and say it's all gonna be right. But a lot of it's gonna be right.
Enough that you'll probably pass. If that was all that was required.
But.
The large language model is not going to be able to give you.
Metacognition level thing, because it might be able to make up something, for one thing. But it's not gonna be consistent over the entire semester.
And if you manage to make a.
And AI do something like that.
You're probably set for a job in an AI company. So I mean.
It's.
I don't want you to turn you away from those resources, but I don't want you to treat them as crutches. I want to see a full intellectual journey where you're really learning these concepts, because these are important.
And to ensure compliance.
I'm gonna talk to some of you.
I'm gonna have interviews.
And potentially, Ta is going to do interviews. And I'm definitely gonna do interviews. Some of it's gonna be random, because I'm just gonna be like checking in on things. And some of it's gonna be targeted when we have suspects.
And if we interview you, and it's clear your answers do not reflect what you know.
That there's a major gap between them.
You're gonna have a conversation with the Dean, and I cannot say what's gonna happen with that. But it's probably gonna go badly.
So.
Could you record your processes? No.
Now you cannot record your process.
You gotta write out your processes. You have to explain your processes.
The
Yes, you you have to do that. So in terms of incentives for
No, you're not explaining. You've got to explain it.
Write it out for some of you. I know English is not your 1st language.
And.
That's okay. I don't necessarily expect.
Perfect English.
What I expect, though, is something saying.
What happened?
What? What you know, what was your process?
So you're gonna be right because what you're gonna end up submitting are just text files.
So.
Now in terms of incentives for the final exam.
Basically par. These interviews will be interviews after the final, you know, after the exams.
And kind of going like checking your answers. But I'm thinking of these interviews not necessarily just for your exams.
They're gonna be checking for your assignments there. But it's like we're gonna be looking at what you've done and kind of seeing if it fits, and if we look at your.
Your exam questions, and then we look at your.
Yo.
Assignment questions. And it's like, Where's the, you know? Does it make sense? How you got to these answers from this and stuff? It's like.
Whatever questions.
But your exam should reflect what you understand.
And.
Basically, we're we're not gonna talk to all of you. But we're gonna talk to enough of you sampling. And if we have any concerns, we're talking so.
You know.
I can't say we're gonna guarantee to catch you, and I don't think there's any intellectual property intellectual honesty.
Test I can do that will catch everyone but.
You're running a risk.
And of course we're gonna do some checks, probably to see if there's similarities between your answers that seem kind of there. But again, if you're adding this metacognition step won't make sense to do metacognition.
Come, you know, elaborately on the.
On the exam but a little bit.
You should be able to do that.
So.
I mean again, everything's online.
So.
Yes, everything's online, the midterm final. But that's why I'm saying you're.
We're gonna test your honesty and make sure you're kind of keep you honest is not by.
Blocking you in a room and making sure you can't cheat. We're gonna say.
There's gonna be, Major. We have ways of catching you by checking your metacognition.
Output, and by.
Having conversations with you to see whether that all adds up.
So.
Specifically. You see, you know.
Wikipedia currently states.
There we go!
Plagiarism is a representation of another person's language, ideas, expressions as one's own work on original work.
So you ought to be great on your own understanding of the material, not the understanding of another, or the answers that we generated by an AI.
If the distinction, your work and the work of others becomes unclear, and anything you submit, your work could be used as documentation case of plagiarism.
And the Dean will be determined.
Potential disciplinary action.
Well in metacognition time on the midterm
Yes, there will be time for it, because again my
The exams are not that long.
In terms of
You gonna require thinking time. But you can use some of the thinking time for writing time.
Okay. So I'm just checking to chat here to see.
So is there a sample documentation, or the things like that?
No.
We'll do some things, but I want to see.
It's not documentation.
It's really about.
Ye.
So question about get.
So part of this.
The material I want to cover.
You're not going to write a lot of code in this class.
Can write some. So this gets back. Why am I not doing a.
Final project. You're gonna write some.
Code.
But it's mostly going to be code in the context.
Of other code that I supply to you.
And so the idea of this is that you have to
Understand the code that you're given.
That, and and the and the concepts related to it.
That's what you should come out of this course. Why do I do that and not have you write code.
And just do that and say like, if I've written the code, I surely understand it.
No.
That is not the case.
I have found. It is much easier for people to write code than it is to read code. People can write code, not just using tools, but just cutting past things from the web, or do other things, they can.
Get something together. Spend a lot of time testing it, you know, brute forcing it, and they get something that runs, which is an horror to look at.
Not only maintainable.
Full of bugs.
And they.
And people don't understand what it is. So.
I'm not looking at whether you can generate code if you understand things.
You can write code.
Up.
So.
This is, of course, more about reading things than writing things.
So tools, like, get.
A version control will not be that much use.
Cause you're not developing large amounts of code. And that's basically why I don't do.
Projects.
So will the trolls be available on Zoom in person, so.
You will be able to chat with.
Tas during term
During tutorial time.
Potentially, virtually.
And you can do that to potentially get checked off. In that case it's kind of like an office hours kind of thing. But.
There's not. The tutorials are really more lab exercises. You go and do things. It's not an additional lecture.
Cool.
The lecture. The lecture quizzes are asynchronous.
So you'll be. So there's a question I'm getting, yeah. So and so someone's a direct message saying, like, so.
You don't sit there and.
Just be working on it on zoom while a T is there. That's just kind of silly.
You do your work, and when you're ready to show the Ta that you understand what you're doing, you made some progress. Yeah, talk with them.
Get talk with them, probably via zoom or teams.
And just chat with them a bit. If you're not in person and say, Hey, I did this, and they may ask you a question or 2, see how you figured out things, and then.
Then give you full marks.
You know, if you all want to make a discord, you can make a discord, but I will not be there, and I would suggest that you don't.
I. I will just tell you this. If you do a lot of work on discord, it's stuff that I cannot chime in on, and the tas will not chime in on.
So.
I can't correct what you're doing.
So I've set up.
You know, teams for you to check. But if you want to chat away from the Tas and me.
Go ahead!
That is certainly your right to chat about things.
Right.
So anyway. So yeah, so feel free to
But you know, if teams is kind of dead, I mean, and I'm not responding to questions and discuss things.
So.
You know, I can chime in on discussion. So I really don't suggest you. I mean.
The the team's instance will be as rich as you guys wanna make it.
Anyway. So that's communication textbooks. So in terms of policies and things. So.
There's the computer labs.
So they can use those. We're gonna be using the scslied openstack instance, and I'll be walking you all through how to get that working?
That will be next week.
There's a general standard academic accommodations. So the basic thing for accommodations.
So I have concerns about always.
Intellectual honesty, and I don't want to give anyone an unfair advantage per se. But.
Life, happens.
Stuff.
Goes on.
And.
My basic thing is, I'm going to in general give you the benefit of the doubt.
So I will do. I'm willing to. You know where it makes sense. I will try to be flexible.
And give accommodations, but.
I just asked. You don't take advantage of it. There's a lot of you there, and you know.
There, you know I have to be careful about this, but.
I will try to be a reasonable if you'll try to be a reasonable individuals.
Yeah.
Okay. So.
So
I'll talk more about the metacognition stuff. But but plagiarism. I've kind of explained my policy on plagiarism.
Yeah. So so how do we know who our tas are in teams?
You will.
I'll have them identify themselves. Unfortunately, I can't. 1 of the nice things about discord is you can.
Have all these things for creating custom, roles.
That's not easily there in teams.
Which is kind of.
Kind of annoying.
But I will, you know we'll have them designate themselves.
A team members. And the nice thing is because it's teams. You can't just be going around changing your names and.
We'll have a list of tas on the class outline.
So.
So that's all. There space things.
So now I just wanna so I've got about half an hour left.
Unless there's any other logistics. Things I wanna give.
Oh, sorry. Okay. Do I have any people.
An algorithm.
Well, that's interesting. Yeah.
Okay, you can.
So so just be clear when you join teams.
You have to request to join.
It's something that I have to approve.
So please.
You know. Click on the link.
Request access, and I will grant access.
That's simple enough to do so.
Just to show you how this.
Works.
So you see, if I go here and I go to manage team.
I've got.
You know, does my members? Here's you know, Lab Coordinator me, and then
And then there's pending requests.
So when I click on pending requests I will see. I don't want to post everyone names here, but after I.
Actually, I'll stop sharing right now and then. I can approve all those.
So let's.
Okay. Oh.
Okay, that's interesting. So screen sharing should have stopped. Now.
Is, that.
I think, still working.
Okay, good. So so just to be clear, there's you're not gonna have an assigned ta.
You should be able to talk to Anya and get checked off.
Good.
Let's see if I can. Now.
Share.
My emacs! Window.
Let's.
Share.
Click, system, window.
Kind of in there.
Looking forward to being on my desktop properly.
There you should be able to see my window. Now.
So.
In terms. So there was a question about, can you go to any in person that you want.
Try to stick to the one that's assigned to you, simply because we have a lot of students.
And
If you start going to the ones we have very imbalanced.
Things
But we'll see how many people are actually showing up, and if it turns out, not so many people are showing up in person.
Then we may end up being more flexible with things.
So
And so, yeah, so try to go to the tutorial that you're there. Please try to show up in person, you know. I think.
It's worthwhile to do that, because a lot of these things are much faster to deal with. If you're just in person, I'm doing this. And then this problem happens certainly, for the early tutorials and getting openstack, running.
Show, person.
So.
Okay, any other logistics questions, or can I.
Cause. Today's the day logistics, questions.
Come on, there!
Yeah, the the link on if the link's not working.
I mean, we can potentially.
Let me know we can figure out. Do you need to download software? You're gonna need to download some? Well, you know, actually, technically, you don't have to download anything you just need to get an openstack.
And actually, you can potentially access openstack using the standard.
Software that's in all of your computers, except for potentially VPN software.
Okay. Let's talk.
This is.
So we're talking about the fundamentals of web applications.
We should talk about the web.
Do they want to tell me what was the web originally.
Hoop!
What was the web originally designed for.
So.
So so remember.
The web is not the Internet.
Think.
92.
I've checked the history.
So.
The Internet was started.
It was started. It was really started as a research project. Yes, it was initially funded by.
An organization known as Arpa.
Which now is Darpa. It's the Us. Organization defense research.
Projects, agency.
In.
Due to various things going on in the 1960 S. They didn't want to have D at the beginning of their name. So they went by Arpa. And so the Internet early version was called the Arpanet.
And.
So in some early stuff for the Internet, they say the justification was, Oh.
To make something that could survive a nuclear.
You know, attack and stuff like that, that's all.
That's not really real, that I would consider it to be
How do I say it?
You know the.
Well, it's it's not, it's not lore, it's funding, justification.
The Grants had to go in front of potential generals.
And they wanted to make sure the generals thought, this is important. So saying that the Internet would be useful to building
Resistant to the bombs.
Yeah, we gotta add something. But.
That's not.
Yeah. Pretext.
So
So the justification is that
We want to share our computers.
If I in other courses, I talk about the the origins of the Internet and stuff. But.
So the Internet was around for a couple of decades.
Before the web was the web, the worldwide web.
So this is really creative. I mean, it came out of Cern.
You know Tim Berners, Lee.
He's, you know, working as a physicist, but was
You know. Yeah, I was working, as a you know, working as a physicist.
And the and the idea is, you know.
If you look at academic papers, where do academic papers do.
They? You have their main text.
But they have references.
2 other papers.
So.
What if, instead of having this reference that you have to go, look at the other paper! What if you could directly link.
To the other paper.
So that was that now.
So now the web is far from the 1st hypertext system.
Was your law. Look up early system.
Think it's.
Hang.
Mimics.
Does the Memx system. That's Vannevar Bush. I think.
Talked about that. And then there's.
So there's earlier systems.
Like that were imagined.
As this, and contemporaneously there were things like.
And.
Go for an waste, which are other.
Hypertext systems that were actually being developed in the early nineties. So.
Anyone know? Why?
This all started happening in the early 90 s.
What about?
What?
What was the.
Precondition.
For all this happening.
Group.
Yeah, personal personal computers.
Per well, so personal computers were around in the 1980 S.
But in the early nineties.
You know.
During the Internet.
So Pcs. Got powerful.
To be able to be on the Internet. And really what that meant.
So.
Really they could run unix like operating systems.
They got powerful enough.
And so.
Things like Linux.
And you might say, Why does that matter.
It was important.
But you really need it turns out networking.
If you look at the 80 s.
Networking was very flaky on Pcs.
And
Could often cause your computer to crash.
And.
You need something unix, like.
You know.
Or windows like.
Yeah.
So I run an entire course that that's Comp 3,000 where we talk about what this sort of thing is. But I just wanted to point out here.
To define that you had to have.
Computers be powerful enough to be.
1st class citizens on the Internet.
You really had to have web servers.
If you didn't have. It wasn't easy. Web servers.
That wouldn't work.
So.
So. So the rapid overlay the commercialization. The Internet was commercialized.
Largely because of the web.
The web before.
Before the web.
So.
No way.
Yeah, I mean. So it was. I mean, the Internet certainly existed. I used the Internet before the World Wide Web. It was very useful, especially for the.
There are all kinds of cool things you could do on the Internet before the web.
You could chat.
You can play games. You could like text based. You know, you could download software.
Yes, you could. You could collaborate via news groups.
And a mailing lists and stuff. So there was, you know, there were Ftp archives for downloading things. You could find all kinds of stuff on the Internet.
Before that.
The web really provided an interface.
Out, yeah.
Really the web, just the web enabled a lot of things just.
That's really what it's about. It made, though. Yeah, muds were a thing it made, though, Internet interesting to the rest of the general population.
It's really about.
You know, point and click.
Now before.
The web.
There were.
So there are systems like Compuserve, Aol.
So they had proprietary hypertext systems.
You could buy some stuff through these systems.
You could. You know there's proprietary hypertext systems that all existed.
In, the.
Late eighties.
Yeah, that that definitely exists in the late 1980. S.
Well, you know Bbs's. Yes, so yep, you know. There.
Their bbs is, those are kind of more of small scams, and these large things.
So a bbs is really just.
A network about a single computer system. Typically that lot people could connect to. So like, you might dial into it, you could post messages, and maybe only one or 2 people could dial in. Maybe 16 people could dial in and use the.
Bbs! At the same time.
Maybe just one person at a time, but then they'd hang up. Someone else would dial up, and then they could access the info that was there.
So that was all. That was all. A thing that happened.
Yeah, that was all. There.
But.
The web.
Blew everything up.
And so.
What we're going to do is kind of. I want to give you an understanding.
Of the simple parts of.
The web, because all those simple early parts are still there.
They didn't go away.
And they still underlie everything, and so.
So to really understand the web.
You have to understand as an evolve system.
With a whole group.
So why do I set me when you ask the one? Why is it this way? Couldn't you better design this? Couldn't you do it this different way. You go like.
Yeah, there's probably a reason you could probably redesign that. You could probably make it clean, or you could probably make it better stuff. But the fact is.
That's how the web works.
And, as you understand the way of the web, you'll understand.
And there are exceptions where things can be fixed.
But
So.
In the web.
I can
So in the.
So.
I'll explain this in more detail, but.
You know http.
Hyper.
Hypertext, transfer, protocol.
So we're gonna be talking definitely about Http.
But as.
So.
Has requests.
Responses.
So requested language.
Okay, I was like, well, what language do you want?
Some other.
Interesting headers. Oh.
Yeah, there's some. Yeah.
Are they going to be lecture.
Nope.
I don't do. Lecture slides.
But that but these notes will be posted.
There'll be a requested languages, you know other things. I actually I'll.
9 or 12. But anyway, the reason I'll come back to this later.
So.
There's a whole field.
Called.
Refer.
It's able to see the problem.
With this word.
Hmm.
Proper spelling of it is.
That's the right spelling.
But that's wrong.
That's the word.
Full time way that goes like capitalize.
So there's a misspelling.
In a header field.
In the Http.
It was misspelled early in the Internet.
And it will never be fixed.
Because that is part of the standard.
That's what I mean by.
Evolved.
Misspellings can't even be changed.
So no, it's worse than a typical, like languages. Typically, you get these things. But this is a.
Protocol. This is a network protocol. This is how you communicate things. So it's baked into the expectations.
And it can ever be fixed.
Javascript has aspects like this.
Where there's features of it which are just like.
That seems kind of dumb.
But if you change it, you break things.
So you don't change it.
So.
B.
Which.
You're gonna be.
Frustrated web apps forever. If you can't accept this sort of thing like I'm not gonna say that.
Javascript, and HTML and Css. And stuff are all perfect.
They are far from it.
And they are quirky as hell, and they've got.
Weird bits here and there, but.
But yeah, that's what we use.
And.
So.
So one basic thing.
So.
Basic question. Why, I will tell you now.
You cannot precisely control the layout of a web page.
Can't do it.
It's not part of the tech.
Why not?
You know.
Why can I make a document look a specific way and say.
Everything's gonna be position.
This way.
So.
This is I mean, like.
What if you're what if you have poor eyesight.
What if you can't hear? What if you're you know.
Dyslexic, or be like the web, is.
Designed at its core.
To be accessible. That was one of the original intents.
So.
But others fight against this, because just because the web.
There was a way that was meant to be used.
Does not mean.
That's the way it.
Is used.
Oh!
I had.
Okay.
I really should update that picture.
I have a picture. So, while showing right now is just to show you that I'm an emacs emacs, has a built in web browser. I don't use that often, so I forgot how to call it. So I just did a little.
Checking of it, and you'll notice.
This is not how my page looks.
If I
You know, if I go to.
What do you call it?
If I look at Firefox.
Where I look at in chrome.
So this is, you might looking at this page, and it looks pretty old style, but it still seems quite readable.
That's because.
It's a
It's very boring. HTML, so.
This is the source for that page.
And this is very old school. HTML.
I coded this page.
Probably originally 20 years ago.
So one thing hilarious. I find about this.
My homepage, is, it really hasn't changed much in 20 years.
I've got some, you know, comments in there and things I really should update it. I can update in a couple of years, as you can see.
Oh, I should do that this week! But.
You see this little thing here, this anil? Css.
I don't have an archive old versions, but if you go to the Internet Archive.
On my homepage is definitely listed there.
Probably under people scsling.ca till the summer.
It's.
My homepage is archived.
And so you can see how it's changed over the years.
So you'll notice.
So I know. Some say Css. Is annoying. Tailwind is better, but tailwinds to Css.
Css is what's there? So you look at this little and this little
This is Css.
I didn't create the Css.
An old friend of mine created the Css. When he saw my homepage, and it just offended him so much that it was just styled.
So old schools like you can have reasonable fonts. Please have reasonable fonts and do things. So he gave me this.
I am not a big
Tss. Person. I will show you the basics of it, but.
This is not my jam.
Because again, I'm I'm more of a function rather than layout stuff. But.
So here's you know, this is the web. This is what the web was based on. It was easy to create pages like this. There were editors that had whizzy. That lets you kind of do this.
I can explain this to you in a couple of minutes what this is, and we'll do that next lecture like how this is all fits together. But.
This is HTML.
That Css.
Oh, God! Wix! Oh.
Yes, and then there's all the modern things for creating web technologies, stuff.
But I'll.
Hopefully. By the end of this course you'll understand why those.
Wife.
Like website builders, why, they're so complex, what they're doing and realize what.
How they're really cool and how they're also abominations.
Both things can be to this lecture is brought to you by Squarespace.
Yeah.
Anyway.
We're about out of town right now
And
We have lots to talk about.
This semester. There's a lot of tech here. I'll try to include some history.
Give you some context.
One thing to understand my lectures is, I tend to talk about lots of things, and I don't expect you to understand all these things. That's why I have the lecture. That's why I have the tutorials. That's why the assignments.
They direct you much in a much more focused way. So you know what you need to learn.
For the midterms and final but.
There's a lot more to know, and my goal is not just to teach you stuff. I can test.
My goal is to teach you what I can.
And so.
That's how I do things.
And yes, tutorials start next week. They'll start on Thursday, not Tuesday, so.
So if your tutorial starting on Thursday, that's when you show up early in the week. No.
Okay, thank you. And
You don't have to install anything. Now we'll start Tuesday in getting you going with all the tech.
But for now just
If you feel like it, read some Wikipedia pages on the history of the Internet.
Have a good day.
And it was.
Stop recording.
You know.