Prerequisites for this course are CSCE 221 (Data Structures and Algorithms) and CSCE 313 (Introduction to Computer Systems).
This course gives an overview of technical aspects of cryptocurrencies, with particular focus on Bitcoin. Students will receive a background on cryptography and cryptocurrencies in general, learn about block chains and other mechanisms to protect cryptocurrencies against malicious use and learn how cryptocurrencies achieve decentralization and anonymity. Students will learn about alternative implementations of cryptocurrencies beyond Bitcoin and will be exposed to community and regulatory aspects. Students will also explore how cryptocurrency technologies can support other applications, such as secure lotteries and smart contracts and others. Student will implement simple cryptocurrency systems as part of a series of programming assignments.
By the end of the course, students should be able to do the following:
This course will be using the following textbook:
Information about this book can be found at http://bitcoinbook.cs.princeton.edu.
The course will have a midterm and a final exam (totaling 40% of the grade). In addition, there will be a series of design and programming assignments that will walk the students through the steps of designing and developing a cybercurrency system (40% of the grade). Finally there will be a set of homeworks (10% of the grade). Class participation will count for the remaining 10% of the grade.
Unless stated otherwise, lateness for assignments and homeworks is penalized with 1/5 of the earned points of the item per calendar day. (During Summer 5-week terms the penalty is 1/3 per calendar day.) Lateness penalty starts at the deadline and is pro-rated. This means that the student will incur a penalty of approximately 0.0139 percent (0.0231 percent in Summer) for each minute that you she late in turning in her submission. For a detailed description of attendance rules refer to Rule 7 (Attendance) of the TAMU Student Rules at student-rules.tamu.edu.
The grading scale looks as follows:
There will be one midterm and one final examinations. The midterm will be on March 15, in-class, and the final will be during the allocated time during Final's Week.
All tests will be closed-book. You will be allowed one hand-written "cheat sheet" of size 8.5in x 5.5in. No other aids will be allowed, except for writing utensils.
The instructor and the teaching assistant for this course will do their best to communicate relevant administrative information (deadlines, information about posted material, details about projects, locations of tutorials, and so on) in an effective and timely manner. We will be using anouncements in class, postings on the web site, material on eCampus, Piazza, and occasionally e-mails to students.
We will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates and myself. If you have questions, consider posting them on Piazza. This will give everybody a chance to contribute.
Find our class page at: piazza.com/tamu/spring2017/csce489504/home.
The signup link is: piazza.com/tamu/spring2017/csce489504.
Having said that, keep in mind that this is not a distance education course! You are expected to be current with the material covered in class and with any announcements made in class. In fact, announcements in class will override whatever information has been made available through the other channels.
Note on e-mail etiquette: E-mail is a very convenient and potentially effective way to communicate with instructor and TA, but only if used in a professional manner. Keep in mind that -- in particular when a deadline is looming -- we are receiving many e-mails, and all senders expect immediate turn-arounds. Therefore, keep your e-mail short and to the point; indicate that you have done some thinking *before* typing the e-mail; provide necessary support documentation (e.g. code sections) when needed (don't attach huge amounts of code!); follow standard basic rules for courteous and professional communication; proofread your e-mail before sending it out. We will not answer e-mail that does not follow these rules. Repeated offenders will be added to the spam filter.
How do we determine that plagiarism has happend? We will delegate our decisions to code similarity detection tools and automated plagiarism detection tools. Whenever a tool flags your submission, we will treat it as a potential case of plagiarism and we will issue a report to the Aggie Honor System Office. So, to be safe, stay away from other students' code and from homework solutions that are not your own!
The Americans with Disabilities Act (ADA) is a federal antidiscrimination statute that provides comprehensive civil rights protection for persons with disabilities. Among other things, this legislation requires that all students with disabilities be guaranteed a learning environment that provides for reasonable accommodation of their disabilities. If you believe you have a disability requiring an accommodation, please contact the Department of Student Life, Services for Students with Disabilities in Cain Hall, Rm. B118, or call 845-1637.