CSC360: Lecture 1 (Introduction: HTML, CSS, and Javascript)

Contents [0/17]

Are You In The Right Room? [1/17]
Overview of Today's Class [2/17]
Admin: Course Overview [3/17]
Admin: Course Objectives [4/17]
Admin: Prerequisites [5/17]
Admin: Expectations [6/17]
Admin: Textbooks [7/17]
Admin: Course Homepage [8/17]
Admin: Discussion Forum [9/17]
Admin: Assessment [10/17]
Admin: Attendance [11/17]
Admin: Contact Information [12/17]
Meetups [13/17]
Homework for Thursday [14/17]
Homework for Tuesday [15/17]
Demos! [16/17]
More Homework for Tuesday [17/17]

Are You In The Right Room? [1/17]

Course: CSC360 (User Interface Architecture and Development)

Instructor: James Riely

Overview of Today's Class [2/17]

Admin: Course Overview [3/17]

Fundamentals of design and implementation for graphical user interfaces (GUIs). Students design a GUI-based application following the user-centered design process and implement it using the Model-View-Controller architecture. Topics include usability engineering, event dispatching, multi-threaded programming, GUI widget toolkits, frameworks and customization.

Admin: Course Objectives [4/17]

Admin: Prerequisites [5/17]

Hard prereq: CSC301

Recommended: SE350 (patterns), CSC376 (distributed systems), CSC347 (programming languages).

Admin: Expectations [6/17]

We will discuss concepts in class.

You will perform design and programming assignments.

You will need to be able to go through APIs without my instruction.

Admin: Textbooks [7/17]

Get the first required book now. Wait a little for the rest.

Required Books

Beginning AngularJS [Amazon, AddAll]

by Andrew Grant (Apress, 2014)

Ebook recommended

More Books

Designed for Use: Create Usable Interfaces for Applications and the Web [Amazon, AddAll]

by Lukas Mathis (Pragmatic Bookshelf, 2011)

Ebook recommended

Even More Books

Head First HTML5 Programming: Building Web Apps with JavaScript [Amazon, AddAll]

by Eric Freeman and Elisabeth Robson (O'Reilly, 2011)

Ebook available

Admin: Course Homepage [8/17]

Course homepage: http://fpl.cs.depaul.edu/jriely/360/

Admin: Discussion Forum [9/17]

We will use Piazza for discussion:

https://piazza.com/depaul/spring2016/csc360/home

You must subscribe to the course discussion forum on google groups. Do it as soon as possible.

There are separate forums for the CSC300 and CSC402

http://groups.google.com/group/csc360spring2016

The discussion forum is an extension our time in class. This is particularly great for students that miss the live lecture. If you are watching the class online, you should write down any questions that arise, including the time from the recording for reference. Then send the list of questions to me, and I will post a reply to the group.

I will also use Teamviewer for communication. With teamviewer, you can show me your computer screen while we talk over the phone.

Admin: Assessment [10/17]

Grades will be computed from the following:

DePaul's academic integrity policy

I will drop two lowest quizzes/homeworks.

Admin: Attendance [11/17]

You must attend class!

Quizzes will most often be given at the beginning of class -- so show up on time.

Admin: Contact Information [12/17]

Instructor:James Riely
Home Page:http://fpl.cs.depaul.edu/jriely
Email:[email protected]
Phone:1.312.362.5251
Address: School of Computing, DePaul University
243 South Wabash Avenue
Chicago, IL 60604-2301
Office:CDM 845
Office Hours: Tue 3:00pm-5:00pm in CDM 845
Class Page:http://fpl.cs.depaul.edu/jriely/360/
Class Hours: Tue/Thu 1:30pm-3:00pm in CDM 226 [Section 601]

My coordinates:

Contact by phone:

Contact by email:

Meetups [13/17]

Chicago has lots of meetups you may want to check out

meetups

Homework for Thursday [14/17]

Check out the code demo sites linked from the course homepage.

Take a look at the following links.

Reading

HTML element reference

CSS Selectors

Chrome DevTools

This site does not function with Safari

Java development 2.0: JavaScript for Java developers

A Survey of the JavaScript Programming Language

Responsive web design patterns

This site does not function with Safari

Angular2 Quickstart

Homework for Tuesday [15/17]

Do a little research on responsive design. Use your favorite searc engine.

Create a simple web page with three sections:

The three sections should be left-to-right for wide screens and top-to-bottom for narrow screens.

You should not use fixed size containers for the text. Instead, you should allow the containers to vary in size and the text to reflow inside the containers.

You can use a CSS library. Include the library when you hand in your code (or use a link to a content delivery network). You will hand in a zip file containing you webpage and any auxiliary files.

I may show these in class, so keep it clean!

Demos! [16/17]

Viewing the DOM/documents using developer tools: It's a tree!

Messing around with CSS and HTML using liveweave

Messing around responsive frameworks using codeply (bootstrap, foundation)

Messing around javascript using jsbin

Javascript:

console.log ("hi");
document.body.innerHTML = "<p>pizza</p>";

let x = document.getElementById ("x");
console.log (x);
x.innerHTML = "hi";

function f () {
  console.log ("pizza");
  let y = document.getElementById ("y");
  y.innerHTML = "Pushed";
}

HTML:

<p class="a" id="x">
  hello
</p>
<p class="a">
  hello
</p>
<button id="y" onclick="f()">Push me</button>

More Homework for Tuesday [17/17]

Install Node.js and npm. Get the Stable version. Not the LTS version.

Use npm -g to install tools globally.

Use npm (without -g) to install tools for a single project.

Do the angular2 5 Min Quickstart

Start the angular2 Tour of Heroes tutorial

If you are on windows, you may want to install a decent command line, such as cmder.

Decent command line tools are coming to windows, but it won't happen until summer 2016 at the earliest.


Revised: 2008/03/17 13:01