SIGCSE 2018 workshop
Welcome to this workshop introducing Codecast, a web-based tool that allows you to create interactive coding tutorials !
Rough Agenda
- Icebreaker
- Short presentation: Why we created Codecast and where we use it ?
- Hands-on 1: Play with the following two Codecasts and discover basic features by yourself (individual work)
- Group brainstorming – Screencast vs Codecast: Weaknesses&Strengths brainstorm
As a student, how is Codecast different from a traditional video tutorial? Please use this collaborative memo - Hands-on 2:
-
-
- Record your first Codecast using the C programming language based on the code below:
#include <stdio.h> int main(void) { printf("Hello, SIGCSE 2018!"); return 0; }
Please click here to record your Codecast and then choose Guest
- Share your created Codecast with your neighbour!
- Record your first Codecast using the C programming language based on the code below:
-
-
- Chill and relax, it’s a 15 minute break 🙂
- Hands-on 3: Playing with Codecast – Advanced features, memory and data visualization for C, please have a look here or below:
- Hands-on 4: Record a small interactive tutorial for C or Arduino while experimenting with the step by step feature. Choose one :
- C language: Sorting values in a array.
#include <stdio.h> int main(void) { //! showArray(list, cursors=[i]) int list[] = {6, -2, 5, 12, 7, 3, 8, 18, -10, 1}; int n = 10; int i,found; int item = 7; i = 0; found = 0; while (!found && i < n) { if (item == list[i]) found++; else i++; } if (!found) printf("%d is not a member of the list.\n", item); else printf("I found %d at index %d in the list.\n", item, i); return 0; }
Please click here to record your Codecast and then choose Guest
- C language: Using pointers with functions.
#include <stdio.h> void interchange(int * a, int * b){ int tmp = * a; * a = * b; * b = tmp; } int main(void){ //! showMemory(start=65520) int a = 1; int b = 9; interchange(&a,&b); return 0; }
Please click here to record your Codecast and then choose Guest
- C language: Matrix multiplication.
#include <stdio.h> int main() { //! A = showArray2D(A, rowCursors=[i], colCursors=[k], width=.33) //! B = showArray2D(B, rowCursors=[k], colCursors=[j], width=.33) //! C = showArray2D(C, rowCursors=[i], colCursors=[j], width=.33) double A[2][2] = {{0.866, -0.500}, {0.500, 0.866}}; double B[2][2] = {{0.500, -0.866}, {0.866, 0.500}}; double C[2][2]; for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { C[i][j] = 0; for (int k = 0; k < 2; k++) { C[i][j] += A[i][k] * B[k][j]; } } } for (int i = 0; i < 2; i++) { for (int j = 0; j < 2; j++) { printf("%.3f ", C[i][j]); } printf("\n"); } return 0; }
Please click here to record your Codecast and then choose Guest
- Arduino language: Knight rider – LED chaser.
// Knight rider Codecast example // SIGCSE 2018 workshop void setup() { for(int pin=0; pin<14; pin++) { pinMode(pin, OUTPUT); digitalWrite(pin, LOW); } } void loop() { for(int pin=0; pin<13; pin++) { digitalWrite(pin+1, HIGH); digitalWrite(pin, LOW); delay(50); } for(int pin=12; pin>=0; pin--) { digitalWrite(pin, HIGH); digitalWrite(pin+1, LOW); delay(50); } }
Please click here to record your Codecast (sorry, the Codecast interface is still in french)
- C language: Sorting values in a array.
- Share your Codecast with others by placing a sticky on the collaborative memo
- Roadmap for the continued development of Codecast
- Conclusion and final thoughts on how to improve or participate in the project
By the way, everything you’ve seen in this workshop is open-source so please have a look at our github to know more 😀