[ http://web.cs.dal.ca/~vlado/csci2133/coursecalendar.html ]
Winter 2017 (Jan9-Apr10) Faculty of Computer Science Dalhousie University |
# | Date | Title | |
---|---|---|---|
1 | Tu Jan 10 | Course Introduction and Preliminaries
Course logistics and administrivia, course description, evaluation criteria, course calendar overview, academic integrity policy, culture of respect, course content overview. | |
2 | Th Jan 12 | About Course Project
About course project, hints about choosing a topic, defining scope, forming a team, preparing design document (P0), planning the process, interfaces, choices, tools. About background knowledge: Java, C, Linux command line. | |
L1 | Th Jan 12 | Lab 1: Design Thinking Exercises
Presented by the course assistant Yaser Alkayale. | |
3 | Tu Jan 17 | Review of Regular Expressions
Review of regular expressions, grep style regular expressions, egrep, other variations of regular expressions, an approach to implementing basic regular expressions. | |
4 | Th Jan 19 | An Entrepreneurship Perspective
Invited Speaker, Jay Harris: Honest Observations of Entrepreneurship. Final notes on regular expression implementation. | |
L2 | Th Jan 19 | Lab 2: SVN Source Version Control | |
Fr Jan 20 | Last day to add classes | ||
5 | Tu Jan 24 | Scripting Languages
Notes related to A1: comments, make, test cases. Scripting languages: characteristics, history; shells and shell scripting; more scripting languages; Perl overview. | |
6 | Th Jan 26 | Principles of Design Thinking
Invited Speaker Dr. Jennifer Baechler | |
L3 | Th Jan 26 | Lab 3: git, make, Assignment 1
A git tutorial; help with Assignment 1 and the make tool. Relevant links by Raphael Bronfman-Nadas: Introduction to Git, Getting Git, Geek Labs | |
7 | Tu Jan 31 | Testing, Design Document, Scripting Languages
Review of the make tool; Testing; More details about the design document; Overview of Python programming language | |
8 | Th Feb 2 | Scripting Languages, Internet and Web
Python overview (continued): functions, regular expressions, OO Python, summary; Projects update; Internet and Web: history and evolution, packet switching, TCP/IP standard. | |
L4 | Th Feb 2 | Lab 4: Python/Django 1 (Twee-Py Party)
Python fast tutorial: introduction, functions, objects; using git; pip and Tweepy: Twitter-profiler script; challenge. | |
Fr Feb 3 | Munro Day - University Closed | ||
9 | Tu Feb 7 | SSH and Related Topics
Project Updates; packet data encapsulation; SSH protocol and related topics: closer look at putty, public key cryptography, ssh configuration files, public key infrastructure | |
10 | Th Feb 9 | DNS, Web, HTTP
SSH keys and access; client-server model; Domain Name System; World Wide Web: HTTP. | |
L5 | Th Feb 9 | Lab 5: Python/Django 2 (Web Built This City on CSS) | |
Fr Feb 10 | Last day to drop classes without "W" | ||
Tu Feb 14 | No class, University closed, snow day | ||
11 | Th Feb 16 | HTTP and HTML
Campus closed due to snow storm. Class canceled. Reading notes: Exploring HTTP protocol. HTML: historical remarks, basics, entities, META tag. | |
L6 | Th Feb 16 | Lab 6: Python/Django 3 (Perfectionists with Deadlines) | |
Mo Feb 20 | Winter Study Break, no classes, Feb 20-24 | ||
12 | Tu Feb 28 | Server-Side Design
Review of Lecture 11 (HTTP and HTML). Server-side design: Web servers: software, functionality, example with password-protected site, CGI programs, examples, Perl CGI examples, forms, GET and POST, bash CGI example, Python examples, PHP. Simple design for authentication (login example). | |
13 | Th Mar 2 | A Simple Authentication Architecture
Simple login process design, securing connection, authentication, use of persistent data, sending emails, use of database systems, file locking. | |
L7 | Th Mar 2 | Lab 7: Python/Django 4 (There is a Template for Everyone) | |
14 | Tu Mar 7 | Authentication, Databases
Establishing a session, HTTP cookies, handling file download and upload, other authentication methods, OAuth2 and CAS; Database Systems: types, relational systems, SQL examples, some MySQL commands; SQLite; programming interface for databases | |
15 | Th Mar 9 | Front-end Design: CSS
Databases continued: ODBC, JDBC; SQL injection and prevention, NoSQL databases, MongoDB, JSON data format; Notation, notation in protocols, SMTP example, simple SMTP notation, RFC822 style, "DB822" example; Front-end Design: GUI design environments; CSS: characteristics, syntax, examples, DOM model. | |
L8 | Th Mar 9 | Lab 8: Python/Django 5 (The Best App is a Finished App) | |
16 | Tu Mar 14 | Preliminary Demo | |
17 | Th Mar 16 | Front-end Design: JavaScript
JavaScript: general characteristics, usage, DOM, examples, basic constructs: constants, variables, operators, statements, control flow, functions, libraries, examples, objects, arrays, JSON, prototypes. | |
L9 | Th Mar 15 | Lab 9: Project meetings | |
Fr Mar 17 | Last day to drop classes with "W" | ||
18 | Tu Mar 21 | JavaScript
JavaScript continued: anonymous functions, common JavaScript issues, JavaScript and DOM, examples with events, dynamic CSS, Ajax, Ajax example, callbacks, libraries, jQuery example, HTML5 example functionality. | |
19 | Th Mar 23 | UI Design
About ec server, SVN, and the project; UI Design: introduction, safety, GUI approaches, common ideas, GUI development environments, some examples: JavaScript, X Windows: protocol, handling events; Java Swing: example, components, events handling. | |
L10 | Th Mar 13 | Lab 10: Assignment review | |
20 | Tu Mar 28 | Web Frameworks
UI Design (continued): layouts; Tcl/Tk tool, Python Tkinter, Perl Tk; Web Frameworks: introduction, pros and cons, examples, MVC pattern, Django web framework: templates, interface; Network topics: example server and client code. | |
21 | Th Mar 30 | Beta demo | |
L11 | Th Mar 30 | Lab 11: Beta demo | |
22 | Tu Apr 4 | Network topics, Performance Issues
Network topics; Programming client-server connections, pseudo-code, C example, Java example, Perl example; multi-threaded servers, Java example; Performance issues, reading Kernighan and Pike Ch7, Hadoop system example. | |
23 | Th Apr 6 | Project Demos | |
L12 | Th Apr 6 | Lab 12: Project Demos | |
Mo Apr 10 | Friday schedule used
A4 duedate extended until Wed Apr 12 midnight. | ||
Mo Apr 10 | Term ends, Project submissions due |