Course Syllabus
Computer Science 4284
Systems & Networking Capstone
Fall 2019
Overview
This course gives a capstone design experience for students interested in systems & networking. It exposes students to open-ended problems in computer systems and networking and requires synthesis and integration of state-of-the-art system design and implementation methods, techniques, and tools. Successful completion of this course will help prepare students for the complexities of solving real-world problems in computer systems & networking. Working on the projects will enable the students to exercise and reinforce the fundamental principles that they have learned in prior courses in this area, e.g., computer systems, computer architecture, networking, parallel computation, and distributed computing.
The course activities also reinforce, via evaluated project reports and presentations, written and oral communication skills.
Course information
Instructor: E-mail: Phone:
Office Hours:
Meeting Time: Final Exam Slot: |
Dr. Ali R. Butt butta@cs.vt.edu 1-0489
Please email for appointments
TR 12:30-1:45pm in MCB 238 December 16, 10:05AM-12:05PM
|
Prerequisites
Students need the experience with data structures and software development provided by CS 3114 and its prerequisites, and the knowledge of basic operating systems principles provided by CS 3214.
Textbook
We will not be using any textbook for this course. Reading material will be assigned as needed from research publications and online resources.
Reference: Tanenbaum, Andrew and Van Steen, Maarten. DISTRIBUTED SYSTEMS: PRINCIPLES AND PARADIGMS (2nd Edition). Prentice Hall, 2006, xviii, 686.
Learning Objectives
Having successfully completed this course, students will be able to:
- design a solution to a significant open-ended problem in computer systems & networking;
- design, implement, debug, and test an advanced computing system that address the selected problem using the skills learned in previous courses;
- choose appropriate theories and techniques to address the problem;
- judge performance/complexity tradeoffs among alternative theories and/or methodologies in this context;
- document and present (using written, oral and visual means) the design process and the results of a proposed solution to the selected problem;
- select an appropriate evaluation methodology to confirm that the solution meets the design goals;
- evaluate and critically assess the proposed solution(s);
- function effectively in teams.
Format
The course work consists of lectures and a semester long team-based programming project focused on practical issues. The lectures are divided as follows.
Background & foundation: · Review of state of the art in computer systems & networking · Modern software development techniques · Source control · Team management · Documentation · Test-driven development · Advanced systems design · Performance evaluation strategies |
25% |
Identification & classification of open-ended problem(s) |
10% |
Project Implementation and evaluation techniques · Synthesis of complex solutions · Analysis of alternative designs · Design of experimentation and evaluation methodologies · Presentation of results |
35% |
Feedback-driven project development |
10% |
Project presentation & demonstration techniques |
10% |
Project documentation techniques |
10% |
|
100% |
Project: The class includes a term-long project of your choice related to the topics covered in class. The project will be completed in teams. The term project can take multiple forms. For instance, your team may design, prototype, and evaluate a practical system that solves a distributed systems problem. Or you may design a project that evaluates the suitability of an existing system for a particular purpose. Or you may add an extension to a system. You are encouraged to come up with your own ideas for a project.
Students will submit a 3 page project proposal that should outline the project. The proposal should explain what problem you are addressing and the relevance of that problem. You should outline what infrastructure (software and/or hardware) you will be using for that project and how you expect to evaluate your results. You will need to define what deliverables your project will have. To ensure progress towards the completion of your project or paper, your team will meet with the instructor during certain milestones, which will be posted on the class website. Those meetings are mandatory for full credit on the project.
Final Presentation: All teams are required to do a final 30-minute presentation that summarizes the results of their project.
Late Drop and Incomplete Policy
Less-than-hoped-for performance or realizing you have taken on too much work this semester, are not permissible reasons to grant course withdrawal requests after the drop/withdrawal deadline. This policy applies only to drop requests that have to be approved by the instructor; in particular, it does not apply to the course withdrawals for six credit hours to which you are entitled according to college policy.
I will not grant incompletes for this course unless truly extraordinary, unforeseen circumstances outside of your control are to blame.
Grading
A tentative grading distribution is as follows. It may change based on class discussions and nature/complexity of projects undertaken by the class.
Project proposal |
10% |
Term-project |
65% |
Final project presentation |
15% |
Final project report |
10% |
We will use 10-point grading scale which is listed below:
Honor Code
The Virginia Tech Undergraduate Honor Code pledge, that each member of the university community agrees to abide by, states: “As a Hokie, I will conduct myself with honor and integrity at all times. I will not lie, cheat, or steal, nor will I accept the actions of those who do.”
Students enrolled in this course are responsible for abiding by the Honor Code. A student who has doubts about how the Honor Code applies to any assignment or project is responsible for obtaining specific guidance from the course instructor before submitting the assignment or project for evaluation. Ignorance of the rules does not exclude any member of the University community from the requirements and expectations of the Honor Code.
For additional information about the Honor Code, please visit:
https://www.honorsystem.vt.edu/
Students with Disabilities
If you need adaptations or accommodations because of a disability (learning disability, attention deficit disorder, psychological, or physical), if you have emergency medical information to share with the instructor, or if you need special arrangements in case the building must be evacuated, please meet with the instructor as soon as possible.
Course Summary:
Date | Details | Due |
---|---|---|