Skip to content

InfiniBrains/CCM299

Repository files navigation

CCM299 - Creative AI

!!! info inline end "Join is on Discord!"

<iframe src="https://discord.com/widget?id=956922983727915078&theme=dark" width="250" height="400" allowtransparency="true" frameborder="0" sandbox="allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts"></iframe>

How to use this repo: Read the topics, and if you're unsure if you understand the topics covered here it is a good time for you to revisit them.

Ways of reading:

Badges

CI: Documentation

Join us: say thanks Discord GitHub Repo stars.

Metrics: Codacy Badge GitHub language count GitHub search hit counter Lines of code GitHub all releases GitHub contributors GitHub

Code of conduct: Contributor Covenant

Topics

  1. Intro to Programming
  2. Advanced Programming
  3. Artificial Intelligence
  4. Developer Portfolio

Philosophy

This repository aims to be practical, and it will be updated as we test the methodology. Frame it as a guidebook, not a manual. Most of the time, we are constrained by the time, so in order to move fast, we won't cover deeply some topics, but the basics that allows you to explore by yourself or point the directions for you to study in other places acting as a self-taught student, so you really should look for more information elsewhere if you feels so. I use lots of references and highly incentive you to look for other too and propose changes in this repo. Sometimes, it will mostly presented in a chaotic way, which implies that you will need to explore the concepts by yourself or read the manual/books. Every student should follow your own path to learning, it is impossible to cover every learning style, so it is up to you to build your own path and discover the best way to learn. What worked for me or what works for a given student probably won't work for you, so dont compare yourself to others too much, but be assured that we're here to help you to succeed. If you need help, just send private messages, or use public forums such as github issues and discussions.

Reflections on teaching and learning processes

Philosophies

I would like to categorize the classes into philosophies. so I can address them properly:

  • Advanced classes: are more focused on work and deliveries than theory, they are tailored toward the student goals more than the closed boxes and fixed expected results. It comprehends AI and Adv. AI;
  • Introduction classes: are focused on theory and practice. In those classes, they have more focus on structural knowledge and basic content. It comprehends classes such as Introduction to Programming.
  • Guidance: are more focused on how can we bring the student to the highest standard and get ready to be hired. It comprehends classes such as Capstone, Portfolio classes, and Mentoring activities.

Learning Styles

  • Visual: You prefer using pictures, images, and spatial understanding;
    • For this style I recently acquired a pen-tablet monitor, so I will be adding this type of content more often.
    • I also use lots of diagrams via code2flow, sequence diagram and others
    • I assume my handwriting is not the best, but I compensate it with lots of diagrams and pictures, and always project what I write in the computer.
  • Aural: You prefer using sound and music;
    • I always link to youtube videos and podcasts, so they can follow up with extra content and material;
  • Verbal: You prefer using words, both in speech and writing;
    • I setup my machine to record specific topics that might be hard to undestand in just one go, and I did some experimental recordings, but I am still struggling with video editing. I will be adding more videos in the future.
    • My main issue here is that I am not a native english speaker, so I am still struggling with the language, but I am trying to improve it.
    • Other issue that I can name is eye-to-eye contact. It feels overburned to me to keep eye-to-eye contact, that I usually look away.
  • Physical: You prefer using your body, hands and sense of touch;
    • Given my cultural origin, I am usually over expressive in this field, and I need more fine tuning my proxemic. Brazilians commonly talk and walk closer to each other than americans.
    • While lecture I really enjoy to use my hands to express myself, and I am trying to use more body language to express myself.
  • Logical: You prefer using logic, reasoning and systems;
    • I always craft and test teaching experiences to push them to think and reason about the topics.
    • I always use tools such as beecrowd to let them code and test their ability to solve problems.
  • Social: You prefer to learn in groups or with other people;
    • I incentive them to do in-class assignments in pairs, and do group assignments. But I recognize this might be a problem for some students, so I am trying to find a way to make it more inclusive.
    • Strangelly for me, some students prefer to socialize with me by booking office hours more than working together. Probably next semester I will reserve a time to do a type of co-working time when I can be available to help them in their assignments.
  • Solitary: You prefer to work alone and use self-study.
    • Sometimes and some topics you really need to study by yourself, and it can be the best way for some. But I warn them about the effects of loneliness and impostor syndrome.
    • This is usually the most common way to learn, and I always keep an eye on the ones that are struggling to keep up with the class. I always try to reach them and help them to keep up with the class.
    • To compensate this solitude I incentive them to present their work to the class no they can experience having attention even when the lack social skills.

Teaching Styles

For every type of style, I try to give a bit of insights:

  • Authoritative: control the classroom and maintain discipline;
    • I create a set of rules that should be followed in order to guarantee the student's success;
  • Delegator: give students control of their learning;
    • For the intro classes I follow more this strategy;
  • Facilitator: guide students and help them learn by themselves;
    • I usually follow this strategy on advanced classes;
  • Demonstrator: explain and show things to students;
    • I usully provide a stream of references or even create my own content to show them how to do things;

Credits

Give us stars! Click -> GitHub Repo stars

Star History Chart