Readings – CS638 – JavaScript and Web Programming – 2015 https://pages.graphics.cs.wisc.edu/638-f15/ Course Website Sun, 13 Dec 2015 21:05:00 +0000 en-US hourly 1 https://wordpress.org/?v=5.7.11 TypeScript Resources https://pages.graphics.cs.wisc.edu/638-f15/2015/12/13/typescript-resources/ Sun, 13 Dec 2015 21:05:00 +0000 http://pages.graphics.cs.wisc.edu/638-f15/?p=250

(We will talk about TypeScript in the last lecture of the class. You won’t have to read about it, or do anything with it. But in the event I inspire you to learn more about it, here are some resources).

I am just learning about TypeScript myself… so these resources are what more of “what I’ve been looking at to understand it” – than something I can say I’ve actually made use of in starting to do TypeScript programming.

The official TypeScript web page has a tutorial, which focuses on how to get the compiler set up, and gives a basic example. The “HandBook” gives all the gory details – but in a way that makes it pretty easy to learn what is going on.

The Definitely Typed web page is the place to find definition files for the various libraries you use in JS and want to access from TypeScript. They have a really nice list of resources to Learn TypeScript.

There are some random bloggers that talk about their experience with TypeScript, which can be interesting since it gives a sense of why different people like/dislike it.

  • NCZOnline (from 2012) – a nice introduction. I think some of it is a little out of date as both TypeScript and JavaScript have evolved. But it gets the main points across.
  • TypeScript DeepDive – this is a whole book. It focuses on how TypeScript implements “future” JavaScript (as of 2015, ECMA6 is still future).
  • A random blog post about getting started with typescript. One of the first that came up for me. Gets at a few basic features in an easy way.
]]>
Reading 11: Design https://pages.graphics.cs.wisc.edu/638-f15/2015/11/17/reading-11-design/ Tue, 17 Nov 2015 23:34:07 +0000 http://pages.graphics.cs.wisc.edu/638-f15/?p=222

This reading is a bit different…

I want you to read about design. I want you to learn about how to think about making things that look nice, communicate well, seem planned, etc.

This is a whole subject unto itself – you could get a degree in Design rather than Computer Science. Instead, We’re going to do “Design School in a Day”. Except we’re going to do the shortened version.

(If you want to see the original Design School in a day from last year’s class, you can look here. But that was a 3 credit class so I asked the students to do more).

To get you thinking about design, I want you to read Chapters 2-6 of The Non-Designer’s Design Book by Robin Williams. This is a great book since it distills out some basic principles for those of us who aren’t designers. This is clearly not all there is, but it’s a good start. These chapters are short, and get the points across quickly. She distills things down to four principles: Contrast, Repetition, Alignment and Proximity. CARP, since she has enough design sense not to pick the other acronym.

The Chapters (and the order to read them)

  1. A page from Chapter 1 and Chapter 6 – this is a summary of the ideas. Read it first.
  2. Chapter 2 – Proximity
  3. Chapter 3 – Alignment
  4. Chapter 4 – Repetition
  5. Chapter 5 – Contrast

The assignment for this is a little different: you need to find some things and critique them according to the principles. How do the 4 principles apply? Pick something good and something back (make 2 posts). It can be a web page (give a link), or a menu, or a flyer, or an ad, or …). But give a link (or include the picture), and critique it according to the 4 principles. Does the good one follow the principles? Does the bad one not follow the principles?

You will get more out of this assignment if you look at more things and start to really think about the principles. So contribute to the discussion in your group!

The reading discussion to post to is: on Canvas.

I’d like you to do the reading and the initial posting before class on 11/24 (so we have something to talk about). The second posting and discussion can happen after that.

]]>
jQuery readings https://pages.graphics.cs.wisc.edu/638-f15/2015/11/12/jquery-readings/ Thu, 12 Nov 2015 18:50:38 +0000 http://pages.graphics.cs.wisc.edu/638-f15/?p=210

For learning about jQuery, the best resource is the web. But you might want a book chapter or two to get started. I don’t have a suggestion that I really like. Here are two that I am providing mainly because they are convenient. Eric really likes the first, I am less crazy about it. I haven’t read the second as closely. I am placing both sets of chapters into the Canvas repository.

  1. JavaScript and jQuery, The Missing Manual. by David Sawyer McFarland. O’Reilly Missing Manual Series. (O’Reilly sales page). Chapters 4-6 on Canvas.
  2. Learning jQuery. Jonathan Chaffer and Karl Swedberg. Packt publishing. The book is available online from the library. Chapters 1-4 on Canvas.

These aren’t a formal reading assignment (yet) – but they will be really useful for the programming assignment coming up.

]]>
Reading 8: When things go wrong… https://pages.graphics.cs.wisc.edu/638-f15/2015/10/25/reading-8-when-things-go-wrong/ Sun, 25 Oct 2015 16:37:14 +0000 http://pages.graphics.cs.wisc.edu/638-f15/?p=175

Reading for the week of 11/2. Technically, the reading is due Monday, November 2nd. We will discuss it in class. The first posting is due on 11/2. The other postings can happen later in the week.

Canvas discussion

For this week, please read Chapter 8 of Eloquent JavaScript: Bugs and Error Handling.

There are required postings on Canvas.

There are 3 required postings to be made:

  1. Describe some ways you can make bugs in JavaScript that are unique to JavaScript (or at least worse than other languages).
  2. For at least 1 on the ways that someone else posted, respond with a way of “programming defensively” to catch that kind of error before it becomes a problem.
  3. Describe a way to use exceptions to pass information within a program – and why this might be better than just using the standard function return mechanism.
]]>
Reading 7: Review https://pages.graphics.cs.wisc.edu/638-f15/2015/10/22/reading-7-review/ Thu, 22 Oct 2015 18:34:08 +0000 http://pages.graphics.cs.wisc.edu/638-f15/?p=166

Reading for the week of 10/26 (technically, it’s “due” on Monday the 26th).

This reading is a bit of a review… I want you to read something short that summarizes what we’ve learned so far in class. It gives some interesting insights on the basics of JavaScript by discussing it using real CS concepts.

Please read:

JavaScript in 10 Minutes by Spencer Tupping. It’s on GitHub. If you want to go right to the PDF it’s here.

By the author’s own admission, it takes more than 10 minutes to read. I don’t agree with his opinions (that new is awful and prototypes are bad), but it’s worth reading.

There’s no handin, or test. Just do it since you’ll learn something.

]]>
Reading 6: Language Gotchas https://pages.graphics.cs.wisc.edu/638-f15/2015/10/10/reading-6-language-gotchas/ Sat, 10 Oct 2015 21:39:59 +0000 http://pages.graphics.cs.wisc.edu/638-f15/?p=133

For Monday, October 19th, I’d like you to read 3 more chapters of JavaScript the Good Parts. There will be no mandatory discussion. However, there will be another programming puzzle (announced later)

We’ve seen over the past few weeks how the flexibility of JavaScript can be handy. Maybe you’re guessing (or have experienced) that it also gives you plenty of ways to shoot yourself in the foot.

This week’s reading will point out some of these pitfalls again, and some ways of protecting ourselves.

Please read:

]]>
Reading 5: JavaScript and the Web Browser https://pages.graphics.cs.wisc.edu/638-f15/2015/10/02/reading-5-javascript-and-the-web-browser/ https://pages.graphics.cs.wisc.edu/638-f15/2015/10/02/reading-5-javascript-and-the-web-browser/#comments Fri, 02 Oct 2015 15:23:49 +0000 http://pages.graphics.cs.wisc.edu/638-f15/?p=120

In order to try out some of the ideas we’ve learned in the early part of class, we need to know how to make our programs do stuff in the web browser, so we can write programs that do something.

The readings for this part are 3 chapters in Eloquent JavaScript.

Don’t expect to get all the pesky details. In practice, when you do this kind of programming you are constantly searching the web for a reference (what is that attribute called again?)

For these readings, there will be no discussion. But, there will be some small programming puzzles so you can try out the ideas.

Even though there is no check that you’ve done the readings, please:

  1. Give them a quick skim either before the October 6 lecture, or shortly after
  2. Really read them before the October 13th lecture

I’ve created a Canvas discussion for people to ask (and hopefully answer) questions. We’ll see if that works.

]]>
https://pages.graphics.cs.wisc.edu/638-f15/2015/10/02/reading-5-javascript-and-the-web-browser/feed/ 1
Reading 4: Object-Oriented Idioms https://pages.graphics.cs.wisc.edu/638-f15/2015/09/27/reading-4-object-oriented-idioms/ https://pages.graphics.cs.wisc.edu/638-f15/2015/09/27/reading-4-object-oriented-idioms/#comments Sun, 27 Sep 2015 04:48:21 +0000 http://pages.graphics.cs.wisc.edu/638-f15/?p=99

Initial posting due on Canvas on Monday October 5.

We’ve talked about how the flexibility of JavaScript allows us to do many different styles of object oriented programming. In these readings, we’ll see the mechanisms that we have, any how to use them to create different kinds of object-oriented idioms.

Required Readings:

In the discussion (on Canvas)…

While I encourage you to discuss anything you want, please start your initial posting by talking about your opinion of different object-oriented paradigms. If you’re like most of us, you learned a “strict classical” style. But now that you’ve seen other idioms (prototype, delegation, …) do you see any advantages or disadvantages? Are there ones that seem to be more to your liking or style? Things you want to try?

]]>
https://pages.graphics.cs.wisc.edu/638-f15/2015/09/27/reading-4-object-oriented-idioms/feed/ 1