Class | Date | Topics covered in class |
1 | Wed 9/4 | Getting started: syllabus, grading policy, course outline, online services,
submission of assignments, internet nuts and bolts, the network edge, client
and server programs.
|
2 | Fri 9/6 | The network core, circuit and package switching, TDM and FDM approaches to
bandwidth sharing, physical media, statical multiplexing, store-and-forward
transmission principle, computing the amounts of time for data transmission,
packet switching vs. message switching vs. circuit switching, routing and
forwarding. ISPs and Internet backbones, classification of networks
(Tier I, Tier II, etc.).
|
3 | Mon 9/9 | Package processing at nodes, sources for package delays at nodes,
loss of packages, throughput of networks, protocol layers, analogy between
network and airline transportation protocols, Internet protocol stack,
ISO/OSI model, encapsulation.
|
4 | Tue 9/10 | Principles of network applications, Client/server vs. P2P model, processes
and ports, application-level protocol defines, intro to HTTP protocol,
computing the response time, HTTP headers, the HTTP GET request.
|
5 | Wed 9/11 | HTTP status codes, HTTP request and response formats, programming server-side
applications in Java.
|
6 | Fri 9/13 | Programming client HTTP applications in Java, working with cookies.
|
7 | Mon 9/16 | Socket programming in Java, the NTP protocol.
|
8 | Tue 9/17 | Details of the NTP protocol, Wireshark labs 1 and 2.
|
9 | Wed 9/18 | The FTP protocol, the SMTP protocol, 7-bit encoding and decoding of data, intro
to DNS.
|
10 | Fri 9/20 | DNS services, recursive and iterative DNS querries, DNS records and
request/responce structure, handling DNS distributed database,
Wireshark DNS lab.
|
11 | Mon 9/23 | Intro to P2P applications, file distribution problem and approaches to it,
review of Chapter 2, Wireshark lab 3.
|
12 | Tue 9/24 | Multiplexing and demiltiplexing connectionless and connection based sockets,
the UDP protocol, computing checksums, principles of reliable data transfer,
FSM 1.0 receiver, FSM 2.0 for data transfer with errors,
the ACK and NAK signals.
|
13 | Wed 9/25 | Class Packet, Programming FSM 1.0 receiver, programming v2.0 transmitter and
receiver.
|
14 | Fri 9/27 | Implementation of FSM 2.1 in Java, FSM 2.2 for handling package and ACK losses, replacing NACK with ACK, FSM v3.0.
|
15 | Mon 9/30 | Pipelined package sending, the Go-Back N protocol.
|
16 | Tue 10/1 | Intro to selective Repeat protocol, comparison of Go-Back N and Selective
Repeat protocols, intro to TCP protocol, TCP header, sequence and ack numbers.
|
17 | Wed 10/2 | RTT estimation and timeout, analysis of the simplified TCP,
Fast retransmit, TCP flow control, TCP connection setup and termination.
|
18 | Fri 10/4 | More on TCP connection setup and termination, TCP flow control, TCP fairness.
|
19 | Mon 10/7 | Intro to the network layer services, comparison of VC and datagram networks,
intro to routers hardware.
|
20 | Tue 10/8 | The datagram format IPv4 addresses, subnets, hierarchical structure of IPv4
addresses.
|
21 | Wed 10/9 | No class (do Wireshark Labs 3 and 4)
|
22 | Fri 10/11 | Midterm Exam 1 (in-class part)
|
23 | Mon 10/14 | DHCP protocols, Network Address Translation (NAT), ICMP protocol,
IPv6 protocol and headers.
|
24 | Tue 10/15 | IPv6 tunneling, characterization of routing algorithms, graphs representation
in software, the LS routing algorithm and its running time.
|
25 | Wed 10/16 | Implementation of the LS algorithm, priority queues and tree balancing,
intro to dynamic programming routing methods,
|
26 | Fri 10/18 | The Distance Vector distributed algorithm, comparison of LS and DV
algorithms, Hierarchical routing.
|
27 | Mon 10/21 | Overview of RIP and OSPF algorithms, intro to broadcasting in networks,
Kruskal algorithm for constructing minimum weight spanning trees.
|
28 | Tue 10/22 | Reverse trees broadcasting, multicasting, Steiner trees, pruning and flooding,
review of Chapter 4, intro to the link layer and its services.
|
29 | Wed 10/23 | Error correction and detection techniques, the CRC algorithm.
|
30 | Fri 10/25 | Intro to multiple access protocols, time sharing and bandwidth sharing,
seraparting frequencies with digital signal processing, TDMA and FDMA methods,
random access protocols, slotted Aloha protocol.
|
31 | Mon 10/28 | Fall break
|
32 | Tue 10/29 | Fall break
|
33 | Wed 10/30 | Efficiency of the original Aloha protocol, the CSMA approach, Ethernet CSMA/CD
algorithm.
|
34 | Fri 11/1 | The token ring protocols, comparison of MAC protocols, link level addressing,
the ARP protocol.
|
35 | Mon 11/4 | Connecting hosts to the Internet by using hubs and switches, summary of
network protocols operation.
|
36 | Tue 11/5 | Wireless world challenges, relashinship between SNR and EBR.
|
37 | Wed 11/6 | CDMA encoding and decoding, association of wireless channels, advanced
features of 802.11 (WiFi) protocol.
|
38 | Fri 11/8 | Cellular systems generations, addressing and routing principles to mobile
users, direct and indirect routing, mobile IP handling, handoff algorithm.
|
39 | Mon 11/11 | Installing required features in Silicon Labs Simplicity Studio, overview of
Simplicity Studio configuration, creating a sample project.
|
40 | Tue 11/12 | Configuring pins for I/O operation, retargeting output to terminal console,
Blink-A-LED project, configuring bootloader for Bluetooth projects.
|
41 | Wed 11/13 | Working with GAP: advertizing channels, modifying server name, setting scan
reports, setting advertisement parameters, indicate connection with a LED.
|
42 | Fri 11/15 | Working with GATT and profile manager, creating a custom profile, services
and characteristics, reading and writing characteristic values, processing
software timer events.
|
43 | Mon 11/18 | Working with characteristic of types USER and HEX, sending external
interrupts to the Bluetooth stack, reading/writing values to/from GATT
database.
|
44 | Tue 11/19 | No class (Jury duty call)
|
45 | Wed 11/20 | Processing button interrupts, sending notifications and indications to clients.
|
46 | Fri 11/22 | Working with I2C interface and Si7021 sensor, developing temperature and
humidity server.
|
47 | Mon 11/25 | No class (visit to UWEC)
|
48 | Tue 11/26 | Completing temperature and humidity server project.
|
49 | Wed 11/27 | Bluetooth scanner project, configuring EFR Connect mobile app for Bluetooth server mode, receiving server's notification by clients.
|
50 | Fri 11/29 | No class (Thanksgiving)
|
51 | Mon 12/2 | Using Web Bluetooth app, Bluetooth scanner project, configuring EFR Connect
mobile app for Bluetooth server mode, receiving server's notification by
clients.
|
52 | Tue 12/3 | Working with Bluetooth Security Manager (SM).
|
53 | Wed 12/4 | Working with HID over BLE protocol, configuring BLE keyboard and mouse.
|