Introduction to CSCI-3308
Purpose of this class
Covers tools and practices for software development with a strong focus on best practices used in industry and professional development, such as agile methodologies, pair-programming and test-driven design.
Students develop web services and applications while learning these methods and tools.
Administrative details
Course syllabus on Moodle
- Moodle class page
- CSCI 3308 – Graham
- Enrollment key:
dgcsci3308
Class times
Monday & Friday 11-11:50 am
Recitation
Weekly, two-hour meetings. Recitation activity. Ask questions about assignments and get extra help.
Office hours
Email me and we’ll set up an appointment.
CSCI 3308 Staff
- Instructor: David Graham
- Graduate Teaching Assistants: (Teach recitations)
- Undergraduate Learning Assistants: (Help in the lab) To be announced
Grading policy overview
Homework 20%
- Weekly assignments
- Assigned one week ahead of due date
- Due Thursday, by 6:00 pm
- We have strict deadline for homework submissions. Late submissions will get zero points.
Recitation exercises 20%
- Weekly recitations
- Points for attendance and submission both
Group project 40%
- Teams of four build an application during the semester
Exams 20%
- 2 exams, equally weighted 10%
Lecture format
- Bring your laptop to class
- Lecture notes posted after class
- Most lecture notes are code files
Schedule
- 2017-01-20 Intro
- 2017-01-23 Regular expressions
- 2017-01-26 Assignment 1
- 2017-01-27 Shell
- 2017-01-30 Git version control
- 2017-02-03 Agile
- 2017-02-06 Requirements
- 2017-02-10 Relational databases
- 2017-02-13 SQL
- 2017-02-16 Assignment 2
- 2017-02-17 Web foundations
- 2017-02-20 Web services
- 2017-02-24 Web applications
- 2017-02-27 Cloud
- 2017-03-03 Make
- 2017-03-06 Exam-review 1
- 2017-03-09 Assignment 3
- 2017-03-10 Exam 1
- 2017-03-13 Scalability
- 2017-03-16 Assignment 4
- 2017-03-17 Testing
- 2017-03-20 Security
- 2017-03-24 Static analysis
- 2017-04-03 Open source
- 2017-04-07 Dynamic analysis
- 2017-04-10 Code review
- 2017-04-10 Deployment
- 2017-04-14 Exam review 2
- 2017-04-17 Exam 2
- 2017-04-21 Continuous integration
- 2017-04-24 Intellectual property
- 2017-04-28 Presentation skills
- 2017-05-01 Present projects
- 2017-05-05 Present projects