COP4521 Programming Secure Parallel, and Distributed Applications


Syllabus


Program examples


Lecture 1 (08/26, 8/28): Syllabus, Introduction to Python

Programming Assignment 1: Prime Triplet, Due: Sept 4 at 11:59pm.

Template for basic header that must be included in all programming assignments.

Lecture 2 (09/04, 09/09): Python Basics: Modules and Functions

Homework 1, due Sept 16, 11:59pm.

Lecture 3 (09/09, 09/11): Python Basics: Sequence Data Types, FILE IO

Useful information about Python variables and assignments

Programming Assignment 2: Analyzing Internet Connectivity, Files provided, Due: Sept 25 at 11:59pm.

Lecture 4 (09/16) : Python Basics: Functional Programming tools, and Object-Oriented Programming

Lecture 5 (09/16, 09/18): Introduction to Parallel Programming

Lecture 6 (09/23): Python Threads

Extra credits opportunity: ACM programming contest. 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/

Homework 2, due Oct. 2, 11:59pm.

Lecture 7 (09/30, 10/02): Python multiprocessing

Programming Assignment 3: Computing Prime Triplet with Multiprocessing, files provided. Due: Oct. 14 at 11:59pm.

An efficient algorithm for computing prime triplet and the strategy to parallelize the algorithm

Lecture 8 (10/02, 10/07): Introduction to Networking

Lecture 9 (10/09) : 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 3, due Oct. 7, 11:59pm.

Midterm information and reading list

Homework 4, due Oct. 14, 11:59pm.

Programming Assignment 4: Online Tic-Tac-Toe Game. Due: Oct. 30 at 11:59pm.

Lecture 10 : Introduction to Database

Lecture 11 : SQL Basics

Homework 5, due Nov. 6, 11:59pm.

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. 25 at 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. 6 at 11:59pm.

Lecture 17 : Malware, Distributed DOS, and Firewall

Homework 6, due Dec. 5, 11:59pm. Homework 6 solutions

Homework 7, due Dec. 5, 11:59pm. Homework 7 solutions

Final exam to be held on Monday 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