CompSci 290
Spring 2024
Educational Technology Practicum

An expert is someone who, over many years, manages to remain confident enough to keep trying and humble enough to keep learning. — James Clear

Meeting Time

Attendance is required since we will discuss, present, or work together during class. If you must miss class, email me an explanation ahead of time; missing class time without explanation will negatively affect your grade.

We are excited to bring you the best learning experience collaboratively — so we look forward to your thoughts and suggestions.

Professor Robert C. Duvall

  • LSRC room D228
  • Office Hours: Tuesdays and Wednesdays 2-3pm in my office
  • Drop-in policy: You may make an appointment via email
  • rcd AT cs DOT duke DOT edu

Graduate TA Gaurav Mor

  • TBA
  • Office Hours: Thursdays 1-2pm via Zoom (link given on Ed)
  • gaurav DOT mor AT duke DOT edu

In general, only email us about administrative aspects of the course (please put CompSci 290 in the subject line); questions about course content are better made using the course Bulletin Board where an answer can benefit everyone.

If we do not respond to your email within 24 hours, we probably did not receive it.


While there are no official textbooks for the course, readings will be available online during the semester. The majority of class time will be a discussion about or extension of the reading, not a summary. You will be expected to be active participants during class. This makes it vital that you prepare by reading before coming to class.

Inability to discuss assigned readings implies a lack of participation.


This course is about building EdTech artifacts, pedagogically built from learning principles, and iteratively improved based on user feedback. That means you are expected to demonstrate you have done as much as possible to deliver direct value, rather than just building something you think is cool. Artifacts can be fully functional software applications or interactive wireframes, they can be built from live or dummy data to demonstrate their potential. In some cases they may be visual sequences with written explanations where necessary.

This course is collaborative. That means you are expected to actively participate in all group activities, especially class meetings. We will be looking to hear your unique perspective, your feedback on the work of your peers, as well as your interpretation of current events and the course readings during in-class Presentations. Once during the semester you will also be asked to take notes on the in-class Discussion or guest speaker. These participation exercises will be graded on a 2 point scale:

The first part of the course will include small projects to get you thinking about issues in EdTech, what value means for users, and understanding their feedback. These exercises will be graded on a 4 point scale:

After Spring Break, you will work on a EdTech project of your design, in teams if you prefer. This project is given in lieu of a final exam and must be completed and presented at the end of the semester. If you work in a team, you will be required to objectively evaluate the performance of all team members, including yourself.

Here is a summary of the graded requirements:

The Open Source community has a concept known as "if it isn't public, it didn't happen". In practical terms, this means you will be expected to regularly show your progress.

Submitting Assignments Late

Plan on submitting work on time, but work submitted within 1 day of the deadline will be given full credit.

Individual extensions beyond that will be granted for:

If you find you are having trouble or consistently behind — do not give up, ask for help as soon as possible.

Collaboration Policy

In accordance with the Duke Community Standard, we encourage proper collaboration, in which all parties participate collaboratively.

This course will be collaborative: You will research and develop ideas in a group of your peers. All members of groups are expected to contribute actively to all parts of project work, including meeting, research, development, and writing. No group member should be relegated to only working on a single portion of the project. In addition to specifically individual assessments, individual contributions on group deliverables will be specified and may be taken into account when grading.

You are encouraged to use resources on the Internet, including LLMs, to help you learn the course material or solve very specific issues as long as they are attributed. Appropriate uses of LLMs (such as ChatGPT) include editing, requesting examples, and asking questions to aid your understanding. Inappropriate uses of LLMs include using such models to draft code or writing and then presenting that as your own, with or without editing. You should know that these systems are not perfect, but they may be helpful for summarizing, providing examples, and sifting through lots of information.

Consult means you can discuss programs in a general way before writing code and get help with debugging your program, but you must write your own code and do your own thinking about the problem. For each project you are expected to include a list of the people (or AI Assistants) with whom you have consulted in the README file you submit with the assignment. You should also cite any resources other than class materials you use (e.g. web pages, notes from other courses at other universities, etc.). This file is required and failure to provide it will result in rejection of the assignment as complete.

If you are not sure what the collaboration policy is for a given assignment — ask for clarification!


This course is committed to Duke's Commitment to Diversity and Inclusion.

Even beyond this statement, we believe this class should be a secure and supportive learning environment for all students.


This course is committed to providing equal access to students with documented disabilities. Anyone with disabilities may contact the Student Disability Access Office (SDAO) to ensure equitable access to this course. There you can engage in a confidential conversation about the process for requesting reasonable accommodations both in the classroom and in clinical settings.

Please note that accommodations cannot be provided retroactively — seek out extra assistance and advice early.

Academic Wellness

The semester can be long and stressful for many students, so taking steps to reduce stress and improve your physical health are important to maintain positive mental health.

Duke's goal is simple: to help you learn, both inside and outside the classroom. If you have a problem or question, we want to talk about it — do not put it off.

Computing Requirements

You are expected to have access to and on-going use of a computer: a laptop is strongly recommended (so you can bring it to class, team meetings, or meetings with us).

Specific project choices may require using a specific language or technology, but there is not a general language, software, or platform requirement.

The Innovation Co-Lab supports tech all over campus. They have staff professionals and experienced students who can help you with tech questions about whatever technology you choose to use. You can see Office Hours times and make appointments, as well as find learning resources.

Online Course Information

Web Site ( Many of the materials for this course, including the syllabus, class notes, reading assignments, homeworks, and other resources, will be available through this course web site.

Gitlab Server ( All projects are expected to be completed by pushing your code to the course Gitlab server by the end of the day given as the due date (i.e., 11:59:59pm).

Bulletin Board ( You are expected to regularly read and contribute to the course Bulletin Board as it is a useful place for posting questions, continuing discussions, and generating ideas or consensus.

Email. You are expected to regularly check your email, as important course announcements may be sent via email.