Syllabus
Course Synopsis
In this course we will learn about the Blockchain technology. We will discuss the various ways in which Blockchains have been used, and possible other applications. We will learn how to set up a Blockchain network, and the various concepts underlying the technology. Of particular interest will be proof of work, smart contracts, and consensus.
Required Texts
- Various online resources.
Prerequisites
CPSC 250.
Intended Learning Outcomes
At the end of this course successful students will be able to:
- understand the concepts behind Blockchain technology,
- be able to articulate how Blockchains get used in a variety of application domains, and
- be able to develop and deploy a network that uses Blockchain.
Class Attendance
Regular attendance in class is highly recommended. Regardless of attendance, students are responsible for all material covered or assigned in class.
Mechanics
The course will meet in class for three hours during the week. There will be two tests (on Wednesday, September 25 and Wednesday, October 30) in class during the semester. A project to develop and deploy a network that uses Blockchain will take the place of a final exam.
This course expects you to spend at least 15 hours of work each week inside and outside of class.
Make-up tests will be available by pre-arrangement only in case of scheduling conflicts. After the test, make-ups will be available only in case of documented medical emergencies.
Besides the tests, there will be quizzes in class, regular homework assignments, and a co-curricular requirement.
Quizzes will be pop-quizzes, and will be at the beginning of class. You will not be allowed to take the quiz if you are over 5 minutes late to class.
The tests and quizzes may be open handwritten notes.
Co-curricular Requirement: The Mathematics, Computer Science and Physics department offers a series of discussions that appeal to a broad range of interests related to these fields of study. These co-curricular sessions will engage the community to think about ongoing research, novel applications and other issues that face these disciplines. Each student is required to attend at least three of these sessions, and turn in a short paper describing the contents of the session, and his/her critical reflections about the topic and content. These papers are due in class within a week of the session. A paper submitted beyond a week from the event being discussed in the paper will not be accepted.
Grading
The final grade will be computed based on the grades in the tests, the final exam, home works and programming projects according to the following weights.
Component | Weight | |
---|---|---|
Co-curricular | 4% | |
Home works | 15% | |
Quizzes | 15% | |
Tests (2) | 26% | (13% each) |
Web Application | 40% |
The final course grade will be calculated as follows:
< 60 | 60-62 | 63-65 | 66-69 | 70-72 | 73-75 | 76-79 | 80-82 | 83-85 | 86-89 | 90-92 | > 92 |
F | D- | D | D+ | C- | C | C+ | B- | B | B+ | A- | A |
Class Attendance and Policies
Regular attendance in class is highly recommended. Regardless of attendance, students are responsible for all material covered or assigned in class.
Cell phones should be kept in your backpacks or pockets (essentially, out of sight), and turned to silent mode throughout the duration of the class. Please do not remove your cell phones until you are outside the classroom/lab. Similarly, during office consultations or consultations in the lab (even when it is not during regular class time), your cell phones should be out of sight and in silent mode.
Note above that the tests and quizzes may be open handwritten notes. You will not be allowed to take photos of the board.
If you use an electronic device such as a tablet or a laptop for note-taking or to read the textbook, the content that is open on the screen should be strictly restricted to documents and pages of relevance to the class. For example, you should not have any social media websites open in your browser window, even if it is in a tab that is not currently in focus.
Academic Integrity
Students are expected to adhere to the Academic Integrity policies of Roanoke College. All work submitted for a grade is to be strictly the work of the student unless otherwise specified by the instructor. The policies as outlined in the Academic Integrity handbook will be enforced in the course.
Graded programs are subject to the Roanoke College Academic Integrity policies. Copying a program or a portion of a program (even a single line) or reading another person's program to obtain ideas for solving a problem is plagiarism. Other examples of integrity violation include writing code for someone else, using code written by someone else, telling someone else how to solve a problem or having someone tell you how to solve a problem (and using his/her method). These cases apply to any work that is handed in for a grade under the instructor's assumption that the work is your own. Unless specified otherwise by the instructor, discussion among students should be limited to general discussion of concepts and language details, not specific aspects of a solution to the assigned problem.