ECE 5392/7392 | Blockchain Programming and Network Effects

ECE 5392/7392 (Fall 2022)
Blockchain Programming and Network Effects


Course Webpage: http://lyle.smu.edu/~camp/courses/ece5392_7392
Instructor: Professor Joseph Camp
Email: "camp" AT "lyle.smu.edu"
Phone: 214-768-8541 Fax: 214-768-3573
Office location: 340 Junkins Building, SMU campus
Office hours: By appointment over Zoom.

Time/Place (lecture):
9:30-10:50am Tuesdays/Thursdays, Caruth 184

TA: Hashir Syed (hashirs@)

Course Description: In this course, students gain a practical understanding of the basics of cryptography to guide the design and programming of blockchain nodes and networks. Topics include finite fields, elliptical curves, hashing functions, Merkle Trees, fault tolerant protocols for distributed algorithms, distributed storage, smart contracts, and relevant aspects of game theory and Markov Chains. Students write, compile, and execute embedded programs designed for blockchain applications.

Prerequisites: MATH 1337 or CS 2353; CS 1340 or the equivalent per the consent of the instructor.

Distinction for 7000-level students: The 7000-level students will have a research project as their course project. A research project requires the understanding of relevant existing works in a particular area, identifying a need that exists in the field, formulating a problem that addresses that need, design a solution to the problem, and test that solution against state-of-the-art methods.

Lectures, Homework, and Project Deadlines

Grading

You may discuss homework assignments with classmates but all solutions must be original and individually prepared (one per group). Late homework assignments will be penalized at 15% of its full credit per day up to a maximum of 4 days, after which no late work will be accepted.

The SMU Honor Code will be strictly enforced.

Required Textbook:
Jimmy Song, Programming Bitcoin: Learn How to Program Bitcoin from Scratch, 1st Edition, O'Reilly, 2019, ISBN 1492031496.

Additional Resource (provided):
An updated version of notes from Roger Wattenhofer, Blockchain Science: Distributed Ledger Technology, 3rd Edition. These notes are available online: here. Since these notes are more updated than book, you do not need to purchase the book.

Alternative Resource (optional):
Andreas Antonopoulos, Mastering Bitcoin: Programming the Open Blockchain, 2nd Edition, O'Reilly, 2017, ISBN 1491954388.

Topics


Disability Accommodations: Students who need academic accommodations for a disability must first register with Disability Accommodations & Success Strategies (DASS). Students can call 214-768-1470 or visit DASS to begin the process. Once they are registered and approved, students then submit a DASS Accommodation Letter through the electronic portal, DASS Link, and then communicate directly with each of their instructors to make appropriate arrangements. Please note that accommodations are not retroactive, but rather require advance notice in order to implement.

Sexual Harassment: All forms of sexual harassment, including sexual assault, dating violence, domestic violence and stalking, are violations of SMU's Title IX Sexual Harassment Policy and may also violate Texas law. Students who wish to file a complaint or to receive more information about the grievance process may contact Samantha Thomas, SMU's Title IX Coordinator, at accessequity@smu.edu or 214-768-3601. Please note that faculty and staff are mandatory reporters. If students notify faculty or staff of sexual harassment, they must report it to the Title IX Coordinator. For more information about sexual harassment, including resources available to assist students, please visit www.smu.edu/sexualmisconduct.

Pregnant and Parenting Students: Under Title IX, students who are pregnant or parenting may request academic adjustments by contacting Elsie Johnson (elsiej@smu.edu) in the Office of the Dean of Students, or by calling 214-768-4564. Students seeking assistance must schedule an appointment with their professors as early as possible, present a letter from the Office of the Dean of Students, and make appropriate arrangements. Please note that academic adjustments are not retroactive and, when feasible, require advance notice to implement.

Religious Observance: Religiously observant students wishing to be absent on holidays that require missing class should notify their professors in writing at the beginning of the semester and should discuss with them, in advance, acceptable ways of making up any work missed because of the absence. Click here for a list of holidays

COVID-19 and Other Medical-Related Absences: If students test positive for COVID-19, they must fill out a CCC Form to report the case. Up-to-date information about the response to COVID-19 during the spring 2022 term can be found on the Mustang Strong website. To ensure academic continuity and avoid any course penalties, students should follow the same procedures described by their instructors as they would for any other medical-related absence in order to be provided with appropriate modifications to assignments, deadlines, and exams.

Excused Absences for University Extracurricular Activities: Students participating in an officially sanctioned, scheduled university extracurricular activity should be given the opportunity to make up class assignments or other graded assignments that were missed as a result of their participation. It is the responsibility of the student to make arrangements for make-up work with the instructor prior to any missed scheduled examinations or other missed assignments. (See 2020-2021 SMU Undergraduate Catalog under "Enrollment and Academic Records/Excused Absences.")

Final Exams: Final course examinations shall be given in all courses where appropriate, and some form of final assessment is essential. Final exams and assessments must be administered as specified in the official examination schedule. Exams cannot be administered or due during the last week of classes or during the Reading Period. Syllabi must state clearly the form of the final exam or assessment, and the due date and time must match the official SMU exam schedule. Final exams are not required to be provided online.

Student Academic Success Programs: Students needing assistance with writing assignments for SMU courses may schedule an appointment with the Writing Center through Canvas. Students who would like support for subject-specific tutoring or success strategies should contact SASP, Loyd All Sports Center, Suite 202; 214-768-3648; https://www.smu.edu/sasp.

Caring Community Connections Program: CCC is a resource for anyone in the SMU community to refer students of concern to the Office of the Dean of Students. The online referral form can be found at smu.edu/deanofstudentsccc. After a referral form is submitted, students will be contacted to discuss the concern, strategize options, and be connected to appropriate resources. Anyone who is unclear about what steps to take if they have concerns about students should contact the Office of the Dean of Students at 214-768-4564.

Mental Health Resources: On-Call and Ongoing Counseling Services: Throughout the academic year, students may encounter different stressors or go through life experiences which impact their mental health and academic performance. Students who are in distress or have concerns about their mental health can schedule a same-day or next-day appointment to speak with a counselor by calling Counseling Services. Counselors are available at any time, day or night for students in crisis at this number: 214-768-2277 (then select option 2) They will be connected with a counselor immediately. Students seeking ongoing counseling should call the same number (214-768-2277, then select option 1) during normal business hours to schedule an initial appointment.

Students enrolled in ECE 5392/7392 will be evaluated on the following ABET/SACS Learning Outcomes:
1 - an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
2 - an ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
4 - an ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts
6 - an ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions

blogger visitor counter