NKU 640
Welcome to the NKU 640 course site!
📘 Alternative View: View Hugo Version - Faster, cleaner documentation theme
Homework Assignments
Homework 3: High-Level Programming Languages
Building Todo Apps in JavaScript, TypeScript, and React to demonstrate the evolution and benefits of high-level programming languages.
Documentation:
- Overview - Homework overview and key topics
- Presentation - Presentation slides
Homework 4: TODO REST API
A secure REST API for managing TODO lists and tasks with JWT authentication.
Documentation:
- Project Overview - Main homework overview
- Implementation Plan (PHP) - Development plan and milestones for PHP version
- Implementation Plan (PYTHON) - Development plan and milestones for Python version
PHP Implementation:
- README - Quick start, setup, and testing guide
- API Reference - Complete API specification with all endpoints
- Tutorial Slides - Comprehensive tutorial presentation (Marp slides)
Python Implementation:
- README - Quick start, setup, and testing guide
- API Reference - Complete API specification with all endpoints
- Tutorial Slides - Comprehensive tutorial presentation (Marp slides)
Features:
- 14 REST endpoints (Authentication, Lists, Tasks)
- JWT authentication with Argon2 password hashing (Python) / bcrypt (PHP)
- Token blacklisting for secure logout
- SQL injection prevention (prepared statements / SQLAlchemy)
- XSS protection (HTML escaping / Pydantic validation)
- Comprehensive unit tests (39 PHP tests, Python pytest suite)
- Bruno API collection for testing
- Docker containerization for both implementations
Homework 5: Quality Software
Software quality practices and presentations covering Weeks 1-6.
Documentation:
- Overview - Quality software homework overview
Reports:
- HW5 Report (Markdown) - Comprehensive report covering all weekly topics and practical application
- HW5 Report (HTML) - HTML version
- HW5 Report (PDF) - PDF version for submission
Presentations:
- Final Presentation (Markdown) - Final Presentation for CSC 640
- Final Presentation (HTML) - HTML slides
- Final Presentation (PDF) - PDF slides for submission
Weekly Content:
- Week 1 (PDF) - Course Introduction & Tools Overview
- Week 2 (PDF) - Software Process Overview
- Week 3 (PDF) - Python, OOP, and UML Fundamentals
- Week 4 (PDF) - Advanced OOP, Design Principles, and Patterns
- Week 5 (PDF) - High-Level Programming with JavaScript
- Week 6 (PDF) - TypeScript & React