Lecture 1 (08/26, 8/28): Syllabus, Introduction to Python
Lecture 2 (08/28, 09/02, 09/04): Python Basics: Modules and Functions
Programming Assignment 1: Simulation and Evaluation of Strategies for a Game , Due: Sept 12 at 11:59pm.
Template for basic header that must be included in all programming assignments.
Homework 1, due Sept 9, 11:59pm.
Lecture 3 (09/04, 09/09): Python Basics: Sequence Data Types, FILE IO
More information about Python variables, assignments, pass by assignment
Lecture 4 (09/11): Python Basics: Functional Programming tools, and Object-Oriented Programming
Programming Assignment 2: An Apache Web Access Log Analyzer, apache_logs_small, apache_logs, assignment2_sample_outputs.txt, Due: Sept 26 at 11:59pm.
Homework 2, due Sept. 18, 11:59pm.
Lecture 5 (09/16, 09/18): Introduction to Parallel Programming
Lecture 6 (09/23) : Python Threads
Lecture 7 (09/26, 09/30): Python multiprocessing, OpenMP
Extra credits opportunity: ACM annual Fall Programming Contest on November 22nd, from 10am to 3pm. 1 extra point (in the final course numerical grade) for participation; 3 extra points for winning the contest. The extra points will be applied to the exam grade. Register for the contest at https://contest.cs.fsu.edu/
Programming Assignment 3: Parallel 2D Prisoner's Dilemma Simulation, files provided. Due: Oct. 13 at 11:59pm.
Homework 3, due Oct. 7, 11:59pm.
Lecture 8: Introduction to Networking
Lecture 9 : Socket Programming with Python
Midterm to be held on October 16 during class time. The exam covers materials from Lecture 1 to Lecture 9, and assignments 1 to 3.
Homework 4, due Oct. 14, 11:59pm.
Midterm information and reading list. You are allowed to bring a one-page (printing paper) cheatsheet to the midterm.
Programming Assignment 4: Internet Chat Server. Due: Nov. 4 at 11:59pm. Provided files
Lecture 10: Introduction to Database
Lecture 11: SQL Basics
Lecture 12: Relational Database in Python: SQLite3
Lecture 13: Web Application Development with Flask, Introduction to HTML (slides provided by Dr. Karen Words)
Programming Assignment 5: A Basic Flask Website . Due: Nov. 20 at 11:59pm.
Homework 5, due Nov. 13, 11:59pm.
Homework 6, due Nov. 14, 11:59pm.
Lecture 14: Introduction to Computer Security
Lecture 15: Symmetric Encryption
Lecture 16: Role Based Access Control, Flask Sessions,
Programming Assignment 6: Enhanced and Hardened Flask Website . Due: Dec. 4 at 11:59pm.
Lecture 17: Malware, Distributed DOS, and Firewall
Lecture 18: Optimizing single thread performance (content not in the final exam)
Homework 7, due Dec. 4, 11:59pm.
Final exam to be held on Tuesday Dec. 9, 5:30-7:30 in the classroom. The exam covers materials from Lecture 1 to Lecture 17, and assignments 4 to 6. Final exam information and reading list. You are allowed to bring a one-page cheat sheet to the exam.