#pedagogy

1 messages · Page 6 of 1

desert yacht
#

Hello?

misty dirge
misty dirge
#

@low ruin for your awareness, I thought your message was a suitable topic for discussion.

#

Topic: teaching what circular imports are, and how to avoid them
One approach might be to have them draw their program's import graph (a directed graph) and think about how they can restructure it so their are no cycles. They don't necessarily need to know that what they're drawing is a directed graph or what a cycle is. ("Write the names of each module and draw arrows for each import--make sure there aren't any potential loops".)

low ruin
#

but if your point is just about avoiding circularity because of python's limitations with circularity, then I would feel fine agreeing with your point

#

the only place where circularity is inherently problematic in code is circular construction, like where Foo's constructor takes a bar: Bar but Bar's constructor takes a Foo. Then you run into a recursion problem that is tricky to solve. usually requiring lazy/late initialization with null at the beginning to be reassigned later.

#

and even then a language could probably invent a mechanism to make that more smooth.

#

or is your point just about circular imports? i.e it is okay to have circular classes, just make sure they are all in the same file? that's reasonable

#

re-reading your message it does sound like your comment was strictly about imports, so nevermind all I've said

tame dagger
#

there's many "levels" to circular dependencies, which makes this conversation somewhat abstract... dependencies across modules vs dependencies across classes, etc. But, there's usually a directed solution to these problems (sometimes involving prototypes/abstract classes/interface/etc in whatever language)

#

From a pedagogical perspective, I'd agree with Stel: map out the relationships, and perhaps introduce the notion of abc's and prototypes. (yes I know there's pythonic solutions to the import issues, but imo reducing circular dependencies leads to cleaner code)

low ruin
#

I think we have an aversion to circular relations by default because for most languages throughout history the support for them has not been nice.

#

But if we remove those concerns from the analysis, what is generally good about avoiding circularity?

#

i don't think we have any trouble reasoning about circularity. A player has a weapon, a weapon is held by a player...

low ruin
#

solving circularities usually involves designs that are harder to reason about. Like instead of the player directly knowing what weapon he his holding and the weapon directly knowing what player he is being held by, you introduce a third entity called a PlayerWeaponMap locator, where you have to use the player/weapon as a lookup key to see who they are related to. That is more complex, even if it avoids language difficulties with circularities and solves the problem of maintaining synchronization, because it introduces indirection and global state.

tame dagger
signal adder
#

i apologise for being off topic but what are circular dependencies?

misty dirge
signal adder
#

i know its been answered but im still very much a beginner; how does this relate to python not being great for beginners (as one user had said)

misty dirge
signal adder
#

what sort of projects would utilise cyclic imports?

misty dirge
low ruin
#

game dev projects are an example. There are many entities in a video game world that circularly depend on each other in definition

#

a Player has an Item and an Item is owned by a Player

#

This is intuitive and is well supported in many languages. But in Python, attempting to import the Player and Item into each other risks breaking your code.

low ruin
subtle owl
low ruin
subtle owl
low ruin
#

different' experiences with game development I guess

#

in terms of pedagogy it is the most effective for beginners

#

a 9 year old will understand a Player holding an Item and the Item being owned by the Player

#

they will not understand a PlayerItemMapper object that both player/item localized methods must query to find each other

subtle owl
#

that sounds like unnecessary and unwarranted complexity

low ruin
#

which one

subtle owl
#

all of it

low ruin
#

a Player holding an Item and the Item being owned by the Player
this included?

subtle owl
#

yes

low ruin
#

there are countless scenarios when you need to quickly know both of those

#

have you coded a video game before?

#

Imagine you cast a spell on an item, to give it an OnFire effect, that makes whatever player is currently holding it, take fire damage.

#

the most ergonomic way to do that, without all of the code getting spaghettified, is just have an Item.heldBy: Player field

#

otherwise you have tons of indirection and global state to query.

subtle owl
subtle owl
#

you do not need circular references to teach programming or python.
that would be counter productive

#

this is just a terrible idea

#

it adds complexity for no reason nor benefit

#

It's not even how games are made

#

I am a 21 years old recruiter at a tech company. What about you?

#

Indeed. Can you show me how the majority of games do leverage circular references as you mentioned?

#

and how it pertains to teaching programming and python?

#

I mean actual game

#

I mean an actual professional game

#

If you have a specific design to critique, that would be more appropriate to talk about it over #software-architecture .

But in terms of #pedagogy , we need to be able to demonstrate that circular references are an accepted practice, easier to understand and reason about and do have tangible technical benefits

#

your claim was that #pedagogy message

This has not been my observation that it is often modeled as such

#

so far, you only have shown an example of how you would model it

#

not how it is often modeled as such

#

not really, I would flip the problem and expose a method to compute the effect instead

#

It simplifies the relationships and enables multiple effects to interact with each others, yielding higher degrees of freedom

#

not really have the time to sink into a full blown thing.
But think either a method or function that for a given effect will return some score or coefficient used to compute the harm or benefit

#

it works for my code using design patterns and without any circular reference ¯_(ツ)_/¯

#

you can do fine with the player holding the items

#

and then computing the effects from there

#

you might be interested in the observer pattern to better manage and maintain your code. But again, this has nothing to do with #pedagogy

misty dirge
full stag
#

Hola ¿Alguno de ustedes habla castellano/español?

#

Estoy empezando a aprender a programar con Python y, bueno, quería saber si hay alguien que hable el mismo idioma

misty dirge
full stag
#

Thank you, I can understand english, but write its too difficult for me.

#

^^

north oasis
#

I'm teaching pyglet (a graphics module) to a beginner coder. We had been using repl.it, but I'd like to move to an offline IDE. What IDE would y'all recommend? Ideally we wouldn't have to think too hard about virtual environments. Currently I'm thinking pycharm, but I'd rather use an open source editor. What does it mean when jetbrains says the community edition is "built on open source"?

rain dome
north oasis
ruby ledge
#

If you can’t run it in the editor then just open up a terminal, duh

misty dirge
#

unless we have a shared definition of what it means for a library to "work with" an editor, this isn't a meaningful discussion.

ruby ledge
north oasis
misty dirge
#

I'm not sure this server is going to be an effective place to talk about how to teach children.

misty dirge
ruby ledge
#

You don’t want to make your student type “python3 (Python script here)”

north oasis
#

Particularly on windows.

ruby ledge
misty dirge
#

I don't recommend pycharm for beginners (or children) because I think the UI and breadth of features is too much

misty dirge
ruby ledge
misty dirge
#

Me either. But pycharm is an ide for people who know what they're trying to do. That pycharm creates venvs is confusing for people who don't know what venvs are or why they should want them

dusk grove
#

So i'm making some courses, and i wanted to hear what you all think of the themes:

1. data types and type hints (using 3.12, mention to backward type hints like List)
2. operators, indexing, slincing, the id() and `is`
3. functions, pure functions, the global keyword, first class functions, type hint for functions, *args, **kwargs, scope, unpacking function results, `typing.Callable`, thinking on pure functions as a `data type`
  """
  my_sums = {(1,1):2, (1,2): 3, ...}
  def my_sum_function(a,b):
    return a+b
  """
copy vs reference, storing/passing references to functions
4. the scope and nonlocal keyword
5. control (if, loops), unpacking inside a container `[*vals]`, comphensions, zip and enumerate, filtering using comphensions [x for x in vals if ...], clean code on controls 'avoid pyramids'
6. built-in functions
7. Basic garbage collection (how the scope is cleaned, what happens when you lose references), creating a `class` using functions and the scope
  """
  def foo(val: int):
    def next():
      nonlocal val
      val += 1
    def actual() -> int:
      nonlocal val
      return val
    return next, actual
  """
8. classes, dunder methods, normal methods, type hint on classes
9. the "types" are just classes, string formatting and f-strings, encapsulation, inheritance, polymorphism, abstrction, classmethod, staticmethod, getter and setters, ABC and abstract methods, protocols, composition instead of inheritance
10. inputs (input function and how to open a store json's)
11. dealing with exceptions, warnings, the exception tree
12. Iterable, Iterator, Generator, the yield keyword
13. context managers
12. modules how imports work
14. wrapper functions
15. generics (only with the new 3.12 syntax)
16. good practices (imports order, docstrings)
17. release cycle and what are alternative implementations (Jython, Ironpython)
18. how to install python and use it (py launcher and pyenv)
19. what, why and how virtualenvs
19. what, why and how packages
misty dirge
misty dirge
#

I'll try to remember to comment in about 12 hours.

tame dagger
# dusk grove yes and yes

This seems to dive in a bit too fast for people with no experience. pure functions, non local, garbage collection, etc are pretty advanced topics for people with no foundation.

ruby ledge
#

Trust the process trust the process

north oasis
# spare coral Why not scratch?

I've tried teaching with scratch, and it turns out that, in terms of understanding the logic of computer code, scratch is not actually easier than a textual language; it is as hard to remember keywords as it is to remember which tab you need to go to in order to find a command in scratch.

spare coral
split oak
#

I started with python 😭

spare coral
#

@low ruin good parameter.

dusk grove
# ruby ledge Trust the process trust the process

adding context: i'm in my last year of college, the course is for students on second year and seniors, the "process" is usually them hitting the wall when they take the microcontrollers class, not knowing what they are doing, paying the seniors to give them the code for the evaluation projects (a code so horribly wrote that it's a miracle it works without burning the device), while 80% of the seniors don't understand the code themselves.
In theory they have prior knowledge in practice not so much. DON'T TRUST the process if it involves a bad education system

spare coral
#

What about to know where are the keys? () [] {} This is challenging for childrens

pine stratus
north oasis
pine stratus
pine stratus
#

Most of this is code organization and other info that is useful later on.

#

It's large, I made games before learning anything more complex.

#

Most of the best programmers I know started on stuff like the C64, writing a bunch of small programs without even knowing what a function really is.

#

(They did have the excellent C64 manual though)

#

You should be able to make Tetris without it.

#

Or battle ships or something.

#

Simple inventory app, etc.

#

That just lists, loops, input, output, basic things.

#

That's fine, they will then truly understand and appreciate functions and classes.

#

It's engaging to those that really like programming, don't know about others.

north oasis
pine stratus
#

Maybe, I don't know how to solve engagement issues, since much more is expected of software now.

north oasis
#

I'm lucky in that I get one-on-one lessons with each student, so I can vary the curriculum based on the students' interests.

pine stratus
#

Either way, you can still let them go all spaghetti and really get used to the basics for a long time. Can pull in Pygame to help I guess.

dusk grove
north oasis
pine stratus
#

Avoid any math-like word problems, not data structures and algorithms, many people I know (myself included) coded for years not knowing that DSA is a thing.

#

Made apps before that.

dusk grove
pine stratus
#

Just really used to writing loops and all that, so when I got to that it was easy for me. I had a solid mental model of stepping through code, storing data, getting data, etc.

north oasis
#

I think if you're leading with types then you might as well use a different programming language

#

It is extra syntax to memorize

dusk grove
#

yeah in fact my advisor (the one who asked me to do this course) just told me "the only absolutly necesary think i want is for then to learn type hints"

pine stratus
#

What I usually see lacking for students going through some programming course is that they are not given enough time to mess around with it, the basics. They are already moving on to the next course by then or within the same course moving on to stuff that is not relevant until they already are comfortable writing ideas into code.

north oasis
#

I think it is important that students, as high a portion of the time as possible, have a project they can be excited about working on.

pine stratus
#

For example, if you ask them to take inputs and store them in a list, and they don't immediately write while ...: without even knowing exactly what the contents are going to be, then they are lacking in these basics.

#

They should already know: "I'm doing a repeat action, so some loop."

dusk grove
pine stratus
north oasis
#

(this applies to 1:1 settings)

pine stratus
copper cosmos
north kiln
#

Hello!

brittle totem
#

what means are there to examine the proficiency of a student in python

tame dagger
#

That's definitely one thing missing from CS education, at least in a systematic way

misty dirge
#

This is not the right channel.

native bloom
native bloom
#

Thank you very much 🙂

stoic thorn
#

Hey everyone. Can I talk about a "code-your-own beginner python project" course that I have made? Or is that a no no? Thank You.

brittle lily
#

hi pedagoges!

elder glacier
#

helllo

brittle lily
#

triple L

#

smooth

elder glacier
#

anyone remember me?

brittle lily
#

no

misty dirge
#

Please make sure that you're on topic. The three off topic channels are available for general chatting.

craggy compass
#

What is pedagogy

misty dirge
lyric mortar
stoic thorn
misty dirge
#

please move this discussion to one of the three off-topic channels.

runic quail
#

I’m running a software development club at my high school. This year we’re teaching JavaScript and full stack web development (because it’s our first year and we want to be the most enticing in order to maximize chances of successful membership retainment/attract as many new potential members as we can). The first semester focuses on general software development (e.g. how to set up your local environment, terminal navigation, git, the syntax of the language in focus that year [which in the case of this year, JavaScript]) and engineering (paradigms, patterns, general best practices) while the second semester focuses on building things. My plan is to have the focus in the second semester change every year. Given this, I have several questions regarding teaching Python:

  • I do plan to go over the packaging ecosystem, etc as I want my club to be comprehensive/representative of practical software development. Any tips/suggestions regarding how I should present pip + setup.py vs poetry? How should I introduce them to pyenv (or the shiny new uv tool from Astral)?
  • any ideas on what sort of low-effort (to build)-high-returns app development should we focus on? I’m thinking of scripting but like, what are some practical (yet general enough) applications Python is good at right now? I know web development is definitely not one of them. Sure, there’s AI/ML but that’s a bit too specific (as it deviates too much from general software development)
  • Say I were to teach “automation” and “scripting” as the application field of focus for that year. How should I approach teaching this? (Web development is pretty simple/clear on how you should teach it: HTML/CSS/JS and then the frameworks that go with it, in that order)
  • how could I keep it enticing with like a quick feedback loop (e.g. AI/ML, besides applications of CV and/or ML algorithms, don’t provide a particularly fast feedback loop)
#

Btw ping me if anyone responds

earnest token
#

best way to teach recursion?

spice island
# earnest token best way to teach recursion?

I'm not a teacher, but the book Grokking Algorithms has a chapter on recursion (chapter 3 I believe) and it helped me understand it, I think the example the book gives with "boxes that have other boxes inside" is quite intuitive

warm quartz
#

I thought fib was the golden standard

native hearth
#

Fib, factorial, nested boxes are all pretty good
There is no one example that will make recursion click, you need a lot of different examples

lyric mortar
tame dagger
lyric mortar
#

all i know about recursion is

#

it loops a func

tame dagger
#

(If not me, someone will)

lyric mortar
neon pasture
#

I've also seen copy pasting the function under a different name a dozen times and have them call the next one help. It makes it less magical and more related to "just" calling a function as is typical.

gaunt belfry
#

Hello

quasi river
#

Maybe you should explain to them why you should indent code and how it helps with the flow of code

neon pasture
#

would making whitespace not invisible help? You can go into view->appearance->show invisible characters.

indigo wasp
spice island
#

<@&831776746206265384> recruitment is not allowed on this server

silent goblet
#

!purgeban @full coral We don't allow recruitment here.

worldly dewBOT
#

:incoming_envelope: :ok_hand: applied ban to @full coral permanently.

misty dirge
#

There is not. It's not allowed anywhere on this server, in any channel.

upper ridge
#

why does pip stand for pip and not an apple pip

sullen nexus
#

what

bronze copper
#

nvm

#

its actually a recursive acronym for pip install packages

upper ridge
#

yeah, it was an actual question on my software dev exam

#

i dont think it served literally any purpose towards testing knowledge of software development or coding

true nova
upper ridge
#

me when the p in pip stands for pip

ivory wadi
#

Names and their meanings are both useful. When we refer to meanings, it's logical to call them names, to guess what, refer to them. I can't imagine anyone would like to conversate longer than needed.

nimble meteor
#

I don’t know

pastel river
#

Looks really good on PC and it makes me happy that all text is text!

tame dagger
#

This isn't the channel for feedback or advertising. Don't advertise, and please respect our channel topics. If you'd like a code review, ask a specific question in #❓|how-to-get-help. Your message has been removed.

pastel river
#

But I can't judge the site, don't know French

misty dirge
weak mortar
dusty hull
# earnest token best way to teach recursion?

The way i usually teach recursion is by combining it with divide and conquer sorting algorithms, usually quick-sort.
Since the "We can do something by first doing half the work" lends itself more easily to understanding recursion than things like fib or factorial as there there are "obvious" advantages of doing it iterarively.

lofty trout
#

Hey, I created some python tutorials on Youtube and would like some feedback on what could be improved to make them as clearly explained and easy to follow as possible. Is this the channel where I can ask for such feedback?

safe skiff
#

is this worth buying?

native hearth
wet depot
#

Hello everyone! I need to make a project for school. But the only thing that school gives in terms of knowledge is for and while cycles, and the project needs to be somehow connected with neural networks and a website. Does anyone have any ideas on how this can be done, and in fact, so that it is not too difficult and so that I can do it somewhere in 3-4 months)

languid gulch
#

Making a facial detection app is also a good idea

weak mortar
elder oasis
#

Hi

humble pagoda
#

Any direction on what field in python should I learn about to be able to make such a program?

spice island
humble pagoda
#

K, thanks man

grizzled storm
#

I personally think that they shouldn't give such a project from the start
It's probably more effective for most students to start with some smaller projects that can be done in a few weeks so it'll be easier for school if the students fail to help and it'll give more opportunity to actually learn

hoary harness
jagged bane
#

@safe grove Hey

safe grove
#

hi

coral root
#

....

lunar prawn
alpine anvil
#

what is pedaga-
pedagoge-
pada-
...

#

pedagogy?

spice island
# alpine anvil ## pedagogy?

The methods and practices of teaching
For future reference, you can see what a given channel is for if you click on the channel name at the top (on mobile, not sure how to find this on PC)

alpine anvil
#

oh i thjoguht it said NOT FOR, my bad

lunar carbon
#

Hello, I have to make a little introduction of python for newbies in a few weeks. They asked me to show some loops and conditions exercices, where can I find some interesting stuffs?

#

It's for a festival

green belfry
#

I think you can largely simplify complex programs into say using a while loops that could get them hooked
Like generating a sudoku or crossword

lusty cypress
# lunar carbon Hello, I have to make a little introduction of python for newbies in a few weeks...

I think if you have if and = covered, then while and for becomes easier to explain. while as repeating if, for as repeating =. You're also dealing with the concept of indentation and what a compound statement is, which is a hurdle for a lot of beginners. I think the concept of functions as collections of code, calling functions and evaluation would be useful, because you'd probably want input, because that's a good one for a while loop. "What is the password?" "Let me in." "What is the password?" "Please?" "What is the password?" "Open Sesame." "Welcome." So you're looking at == there, too, and the concept of strings.

#

We take things like loops and conditionals for granted, but there's a lot of foundation sitting underneath that.

static laurel
#

True, especially loops.
Because you can't loop without an iterator, differently from C for example, which uses just the concept of variables.
So my approach usually is: either teach list before loops or use just the range() function and don't try to explain too much how it works under the hood XD

#

while I'm here, can anyone recommend some good resources to teach async?

simple olive
misty dirge
north oasis
#

How would you recommend teaching code collaboration for a group of students aged 8-13? I feel like github is too much.

upper flint
#

Possibly test driven development, each student writes code to make the assigned tests pass

vale current
#

I think version control in general might be a bit much - are they working in groups?

bleak lantern
#

One student types in code, they're the "driver".
Other student tells the student what to put in.

north oasis
bleak lantern
#

They switch over after 10 minutes

#

If you have three or four, then you'll find some simply will not be engaged in the process at all.

#

but aged 8 will be very different to age 13 as well

#

Another approach is to have a larger task which is split into... e.g. 4 parts.

Each part has a function definition. Each person works on one function. And then one person joins it all together. A bit much for 8 year olds though!

#

What's the overall aim @north oasis ?

north oasis
# bleak lantern What's the overall aim <@178268995504439296> ?

I have 5 students aged 8-13 for the rest of the school year, one hour of instruction time per week plus optional office hours. They've all had intro python lessons (print, variables, input(), lists, loops, functions, classes). I want to get them all more comfortable with programming, and for them all to have projects they're excited about. They've all expressed that they'd rather do group projects than solo projects.

bleak lantern
#

what do you want them to learn?

north oasis
#

Right now I'm more concerned with getting them to practice the skills they already have, rather than learning new stuff. code collaboration is a means towards group projects, rather than an end in itself I guess.

#

In particular, I want them more comfortable with defining classes.

#

I have also taught them the basics of the pyglet module, and they've each managed to create a character with 8-directional movement

#

they're excited about game dev, and I want to work with that excitement

bleak lantern
#

Could you get them making a walk-through world, drawn using something like turtle?

They could all make some standard "blocks" so each has a responsibility to make a "thing"...

e.g. one could define what a window looks like, one define a brick, one define a wall, one define a lamp...

all creating standard objects for little worlds, and then they need to collaborate on how rooms and scenes look?

#

I'm trying to thing of things which are both collaborative but make them also do their own thing and have a genuine contribution

#

Lots of practice making classes and objects that way as well.

north oasis
#

Well, it'll probably only be 2 groups, so maybe it could work...

#

I guess the big problem would be testing the code. I don't have the time to write that many tests each week.

pastel river
#

When I started programming, my driver was games. I found a good list of game projects that would slowly become more and more difficult.

I think I went pong, breakout, tetris, topdown zelda/sokoban, platformer. Something like that

jolly night
pastel river
#

This was too long ago, I tried to find the list again but, no joy.

jolly night
#

sadness

spice island
jolly night
spice island
#

I haven't read through it enough yet to know whether it's good or not

jolly night
#

Considering how many people show up wanting to make games, i think it's good for showing simple ones to get started.

#

I like that it's explicitly pedagogical also, though "you should complete at least 10" is daunting.

#

I added it to kindling

nimble talon
#

I need help

nimble talon
tame dagger
sharp flax
#

what happens here out of curiosity

sharp flax
sharp flax
#

kk

#

if that's every something that's being talked about with regards to CS education, i'd be interested in seeing what folks know

twilit agate
#

No

verbal citrus
verbal citrus
tropic scroll
#

scratch is the best language

civic locust
#

hi folks. I teach python to a group of 11-14 yo (one hour per week during the school year) and I thought I'd introduce them to pygame through pygame zero, but it looks like there isn't much activity on that project anymore. is there a more relevant thing that I can teach them, since they're interested in making games but I can't expect them to know enough for pygame proper by end of june?

idle cedar
rugged inlet
#

Hey i neee some help with 3d projection on a 2d screen. If anyone wants to help, even just by sending a working function, i would greatly apreciate it !

dark stirrup
#

you need full stack developer?

lyric frigate
#

Hi everyone! I found this video about writing short essays to improve your learning process. It's got some pointers that I was intuitively following them in a project I was working on. Hope there's something that catches your interest as well.

https://www.youtube.com/watch?v=N4YjXJVzoZY

About 8 months ago, I started using mini-essays as the core of my note-taking. I'll never turn back.

I like to take my time with books, analyse their points and take time to write about them. It's high effort, sure, but the knowledge you get in return is priceless.

Mini-essays have been my best friend in this journey. They help me understand h...

▶ Play video
dapper sinew
weak mortar
# lyric frigate Hi everyone! I found this video about writing short essays to improve your learn...

I am new to this Discord channel and still relatively a beginner in Python dev. I am an power grid relay settings engineer by trade, but have found myself gravitating more and more towards the language, but also towards technical writing to improve documentation and learning for myself (and eventually my workgroup). I have begun using Markdown and Mathiax to write technical calculations notes that explain what we are trying to accomplish for a given protective relay element we are setting. I really enjoyed your post and the video on mini-essays, although I am having trouble translating that over to our more technical fields. In what ways have you used mini essays on your project, if you don’t mind me asking? Obviously, feel free to decline if too confidential or business sensitive. Thanks!

lyric frigate
weak mortar
obtuse cedar
#

Can anyone relate to this

grizzled storm
# obtuse cedar Can anyone relate to this

I personally wouldn't put creativity under ADHD brain because imo creativity is a learnable skill that everyone can learn
But for everything else under ADHD brain I can relate although it's not that simple because ADHD can make you lose focus faster
It can also make procrastination more likely and small tasks to get started or whatever can be a huge obstacle

obtuse cedar
#

Yes

silver night
#

Those of you who don't work with python, what is your best way to keep up and develop with python?

tame dagger
#

Or do you mean those of us who aren't core devs?

zinc dew
#

I'm writing a blog post on building a portfolio of #Python projects, and I'd love to hear more perspectives on how to progress from courses to proper projects. I see lots of books/videos that have projects, but almost none of them model practices like:

  • Modularity
  • Version & dependency management
  • Documentation
  • Logging
  • Testing

How do newbies make this leap? I'm sure there many ways, but there isn't an an obvious one that I know of.

bleak lantern
bleak lantern
misty dirge
bleak lantern
#

Well the channel here says,

"not for resources" and then has a link saying "resources"

native hearth
#

Its so you dont come here and ask about resources for learning python

signal adder
# zinc dew I'm writing a blog post on building a portfolio of #Python projects, and I'd lov...

Even though I've been learning to code for a year now, it's been difficult with the lack of structure (as I'm self learning) and not knowing how to progress past the beginner stage. I'm struggling atm to properly boost my programming skillset via projects but I don't know how. If I'm going to make a really good, extensive project, I have to be passionate about it and interested in it or else, I'll get bored. I think it might be useful to have programming projects that build onto each other; that way, as the difficulty increases, you can see how the simple program you made at the beginning develops into a more complex project.

turbid nova
bleak lantern
misty dirge
bleak lantern
#

I don't, but you picked me up on it.

#

I mean people asked what the group was for and I explained. But then you told me off.

misty dirge
bleak lantern
#

oh ok

hot goblet
#

Any AI dev here?

tame dagger
hot goblet
#

Already did

winged verge
hot goblet
#

Yes

sand bone
shell jay
signal adder
shell jay
#

It's more distracted and lack of interest and/or delivery (some people are just dull and boring) but it certainly will effect focus though. Sorry Im rambling. Ah I understand. Well maybe its time to drop back in!

#

Why did you leave??

unborn meteor
#

does it make it easier to remember?

signal adder
unborn meteor
#

so you're kinda more of an adaptive learner pithink

signal adder
# shell jay Why did you leave??

Was doing biomed. It was a degree I wanted to do for years but got to a point where I got sick of it. So I dropped out to find what I wanted to do. Went back into coding and now In back at uni doing a degree in AI and Robotics (have to do preliminary foundation year first though)

shell jay
unborn meteor
#

very recently I've started to develop an interesting in coding, and now I'm here. But, I am excited to learn more

shell jay
unborn meteor
#

I need to pick something that I can live with / be entertained doing for a long period of time, in order to make time and funds to do what I really want to be doing

#

best way I've been learning that is by actually trying it, so the answer to that will take a while 💀 ||right now the new answer is CIS/MIS||

weak mortar
# unborn meteor hahaha the problem is I'm passionate about too much

Hope it isn't weird to revive this 2 day old conversation but I totally feel this. there's a burning desire to learn every language and framework there is out there, and it extends to everything beyond coding whether it be instruments or hobbies. If only we could get paid for just simply learning, huh?

But what @shell jay said too. I pursued animation for years under the belief that passion will see its way through, ultimately it's not enough to put food on the table. 😿

dusk gorge
wooden frost
#

Yo yo hello everybody ! Does anyone know if we can code vst type audio plugins for the music industry with python??

#

i saw this with projuce but i not know anything ...

#

If anyone has any content to explain on this area that would be great !

#

thank's and have a good week end everybody

misty dirge
inner trail
#

can someone help me on a quick problem?

vale dirge
misty dirge
#

@inner trail I removed your message for referring to self-harm. Head to #python-discussion to ask for advice on how to learn python.

stark quartz
#

i got what you mean and maybe what ihave said in the reply able to conveys what you're going to say

signal adder
tame dagger
stark quartz
#

how that doesnt exist, in tech pretty much you have to sart from below

#

like most of them, in networking you cant understand networking at all, if you cant subnet which is basic

#

you need to have the understandig of how x pragramming language works bfore you do super advanced project

#

you cant. do ML if you dont know math, and if you dont algebra how you gonna design your own model

#

so, its have to start at starting point

#

you cant literally cant. understand anything in networking if you cant understand subnet
you cant understand Eigenvalues and Eigenvectors to build kernel trick for your model if you dont know how algebra works
you dont know how to create a function that can take input and parse the data if you dont know function

#

like it has to start from somewhere as advanced topic needed that understanding of basic fundamental
E.g in networking i cant even understand what on earth router does with all of the IPs if i dont know subnetting, IP's fields, LAN, Mac Addr, etc

#

its like a stacking plates, the plate cant reach the current state if each element of knowledge in X field isnt being taught in exact order

tame dagger
#

And, what's the sequence that's needed to become a SWE?

stark quartz
#

idk , about SWE

#

not my field

bleak lantern
#

So many routes. So so many.

#

And,... there's no finish point.

native hearth
#

There are millions of software devs, surely you could come up with general steps they took to become what they are
Go to uni
Get good grades
Try to get into internships
Practice the leetcode type questions
Graduate with a bachelor's
Apply to a bunch of jobs

tame dagger
#

I think most people who ask for a roadmap want the precise; "Learn this thing, then that thing, then that other thing, etc"

native hearth
#

People need to tone down their expectations 🤷‍♀️

tame dagger
native hearth
#

Roadmaps are only useful if you have 0 idea about the content, they let you know of what you dont know
Once you start learning you'll get an idea of what you should learn about next

thorny linden
#

Hey there,
I already know basic web dev(mern)
Some python and DSA, OOP, stats
But have no idea about AI/ML dev

Can anyone suggest me a roadmap? For ML engineer

signal adder
#

Best to ask in teh data science ai channel. Thoug I will say, know your fucking maths first. Honestly, you need to have decent maths background to understand most of the tools you use in ML

oblique stump
#

!cban 1270426285050695786 troll

worldly dewBOT
#

:incoming_envelope: :ok_hand: applied ban to @hasty trail permanently.

subtle copper
#

Hey i want to do some cool machine vision project if u guys have any idea or have any resources do dm me...i don't know where to get it from

wary nymph
#

fellow tutors: Preply, Codementor, or Wyzant, which do you like best?

tame dagger
simple rune
#

Hi everyone, does anyone know of a good project that puts functional paridigm into practice so I can analyze the code and improve ?

eager heath
#

Genuine question, do you know where is the best place to seek guidance on structuring Python projects? I have been self learning and I’d like to bounce some ideas off of developers who know the best practices in using Python and can guide me. Thanks.

outer willow
#

Someone i need hrlp

#

Architecture

obtuse gyro
#

hello guys ....
i need help. I have strees names and wanna know which City belongs . how can i do this in python?

obtuse gyro
toxic drift
rain plume
#

both of you should take this conversation elsewhere. this channel is for discussion of teaching methods, which neither of you are talking about

toxic drift
inner gull
#

streets?)

steep schooner
#

guys,i am inconsistent learning python, itry to dedicate 90 minutes 5 days a week but i often dont 2 even half,it could by its because i only learning reading a book? or is my undiafgnosed adhd?

grand lantern
steep schooner
grand lantern
sand bone
#

is there a server on the same level as this one, but for Java? my current courses are now in Java so I'd to find one where I can ask questions about niche things and stuff

(I looked for one in the server search bar and on Google but they're all insanely small and dead servers)

grizzled storm
cyan solstice
#

I need some sort of translation help, im studying a course that is named in my language "automatons and formal languages" does any one have a clue how it might be called in english? its about turing machines and such

neon pasture
cyan solstice
noble aurora
#

"theory of computation"

cyan solstice
#

oh that sounds nice, Im just trying to help a student whos' language were being taught in isnt his first and he tries to find more resources in english or other languages

cyan solstice
#

cool ty

quiet parrot
#

I have got a question? Do you sometimes force yourself to learn coding or you just learn when you feel like you would like to code and discover some new concepts

bleak lantern
#

It's so annoying that this channel ends up being full of stuff which is NOT pedagogy

golden blaze
tame dagger
bleak lantern
#

I'd love to know people's experiences with teaching python to students with little interest in learning it. Are there approaches you take to develop engagement?

misty dirge
bleak lantern
simple fiber
#

Heyyy, which is the project based learning platform u would recommend for a complete beginner in python

simple fiber
#

U mean develop a calculator?

late yew
#

hi guys, if you had a new junior dev in your team, coming from js mostly, which book you'd give him to learn python ?

tame dagger
tepid roost
#

Hello

rocky rune
#

Hi

grand storm
#

So, I've been teaching people python for a bit, and I'm curious about when and how you normally introduce testing to your students. I'm using doctests and I'm doing it right after I teach them how to use functions and write docstrings, but I'd love to hear your thoughts

autumn marsh
misty dirge
grand storm
grand storm
jolly night
grand storm
jolly night
#

yes, good

grand storm
#

That, and following best practices, write docstrings for your functions, don't slap 3 functions into a nested lambda, use whitespace to make your code more readable, etc

#

I guess that brings me to another question, how do you guys feel about using linters like mypy? I don't really use it or recommend it for my students, I'm of the opinion that it's too strong and you end up writing python code like it's golang

true nova
grand storm
bleak lantern
#

oh doctests for students - what a curious conundrum

grand storm
bleak lantern
#

i've never really gone down the doctest route... i wonder if it makes it more engaging

true nova
#

!rule advertising

worldly dewBOT
#

6. Do not post unapproved advertising.

true nova
#

<@&831776746206265384>

grand storm
#

This is of course assuming you don't need mocks or something more complex

bleak lantern
#

see at the moment, we just have thonny and... that's it.

misty dirge
jolly night
#

absolutely pytest gets extremely intricate. just test_* functions gives you similar power to doctests and is plenty.

misty dirge
#

I also think pytest is preferable to unittest for beginners. pytest doesn't require you to suspend disbelief about how classes are supposed to be used, and there's no camel casing, and you can just write regular assert statements.

bleak lantern
#

I’m not sure how I’d progress to doing unit testing with a class.

#

I wonder what I’d need to do.

misty dirge
bleak lantern
#

No. I’m talking about how to go about using testing in classes

misty dirge
bleak lantern
#

Classes of students. Versus classes of objects.

misty dirge
#

you'll need to specify that every time, or people will think you're talking about OOP classes.

bleak lantern
#

I was talking about students only a couple of messages ago.

#

I’m just wondering if there’s a way I can add some testing into the work path to make things more engaging.

misty dirge
#

Do you use automated/unit tests to evaluate the students' work?

simple olive
misty dirge
#

@bleak lantern my thinking is that if you evaluate their homework using unit tests, you can show them those tests in the lecture following the assignment being due. And I think seeing tests that are relevant to what they coded will cause it to click

grand storm
#

Well I find that doctests and pytest go together really well, and pytest can run your doctests automatically. I wouldn't suggest unittest for anyone, Raymond Hettinger said it's only really useful for people working on the stdlib

#

I still use both in my projects because they serve very different needs imo

bleak lantern
#

I’ll have to look into it.

jaunty light
#

Hello guys

bleak lantern
#

hmm i'm still not sure the best way to proceed with this idea

#

at the moment i use thonny in classrooms and set tasks to do and then wander around the class

#

i'm not sure what the next step is

misty dirge
bleak lantern
#

No. I wander around the class to evaluate students’ work at the moment.

noble aurora
misty dirge
bleak lantern
#

feels like i'm just getting random questions now!

misty dirge
#

Also, what is your favorite color? (This question isn't important. The other ones are.)

bleak lantern
jolly night
#

how to use unit testing in class?

bleak lantern
#

no

misty dirge
bleak lantern
#

how to do automated marking of students' work in a class

jolly night
bleak lantern
#

how?

jolly night
bleak lantern
#

right - context...

#

at the moment i'm setting challenges for students to attempt, and they do them, some get stuck and some make good progress but this is beginner stuff.
e.g. using print / assigning variables / using mod and so on

#

when one student is done, invariably 5 or 6 others are also done. And some are part way through and some need help.

#

I had this idea that there could be a way of getting them to be able to self mark their work and then move on to the next challenge

#

i don't know how unit tests or pytest will help - i've never used it

jolly night
#

if the students' code isn't structured as functions and classes, it could be a bit involved to do it.

bleak lantern
#

it's not

jolly night
bleak lantern
#

it's literally things like
a = 10
b = 20
c = a + b
print(c)

#

so it'd need to test they'd got all of that correct

#

requirements of that would be: create a variable called a and set it to 10, create another called b and set it to 20. Make a third called c and set it to a and b added together, then output c

#

i'm not saying i can't go around a class and do that checking, but it'd be better if they could see they'd got there themselves

#

and then move on themselves

noble aurora
#

good tutorials will include what to expect. you could say something like, "you should get 30"

bleak lantern
#

tutorials? sorry - i think i'm missing the point

jolly night
#

maybe you could pair them up and have them check each other's work?

bleak lantern
#

how could the output be checked?

#

nah - i don't find pair programming very successful

jolly night
bleak lantern
#

right... but how?

#

like i've got 30x 13 year olds... how can i get them to do that, and then understand that they can progress?

noble aurora
#

the typical setup for autograder type things is just having the students upload a file to some service that you run

bleak lantern
#

so basically no one knows

true nova
bleak lantern
#

I don't know how to do it - not a clue.

misty dirge
#

You can look at a code example that does what nedbat said.

bleak lantern
#

where?

true nova
#

!pypi autograder or this.

worldly dewBOT
#

A simple, secure, and versatile way to automatically grade programming assignments

Released on <t:1713155299:D>.

bleak lantern
noble aurora
bleak lantern
#

it's curious though

civic marsh
bleak lantern
#

oh i've not seen this before Robin, thanks

civic marsh
#

most of my college classes have been in this format, i'm sure it's adaptable to younger students too

bleak lantern
#

I'm trying to work out if it's possible to enter code right into it

#

the difficulty is, as you'll appreciate, younger kids these days are not as computer literate as current adults

#

like at age 12, some have never used a mouse and do not know what a shift key is

civic marsh
#

that seems like quite a problem for a programming class

bleak lantern
#

yep

#

there's a lot of assumptions people make about 11 - 13 year olds - they certainly don't all know how to use computers

#

I wonder how others would go about teaching python to 13 year olds... maybe there's some better approaches?

true nova
bleak lantern
true nova
bleak lantern
#

i mean... i currently teach 450 students a week

#

the level has defintiely dropped over the past 7 years

true nova
#

are you in the US?

bleak lantern
#

no

grizzled storm
#

When I had to deal with some 8 year olds it was quite surprising to me that they didn't understand how to use a keyboard or mouse

bleak lantern
#

but to be honest i'd be surprised if it was different unless there's a lot of focus on computer use at ages 5 to 11. over here it's mainly tablet use

true nova
bleak lantern
bleak lantern
grizzled storm
#

So the first few classes are just using a computer

bleak lantern
#

yes - and even then it's not really enough

#

it can take 2 lessons to be able to confidently log-on

#

without it being alien and weird

civic marsh
#

yeah its a pretty common thing i'm seeing too. dont have any stats to back it up though

grizzled storm
#

This does sound kinda interesting to me

civic marsh
bleak lantern
#

oh - i just thought KRRT felt the US didn't have this issue

civic marsh
#

im not really convinced this is a regional or country based thing

bleak lantern
#

me neither, i think it's a generational thing

civic marsh
#

indeed

bleak lantern
#

it's standard to have ipads and phones

#

why would an elementary school buy a computer suite? There's no reason.

civic marsh
#

i dont know what you can really do about that but to educate, which i suppose is what you're doing

grizzled storm
#

Kinda makes sense because iPads and phones and consoles are more popular for those kids

bleak lantern
#

yes - that's what i'm doing - i'm explaining how to hold a mouse to 12 year olds

#

i explain that Ctrl means control

#

if you ask kids to press the windows key, you get a class of blank looks

true nova
civic marsh
#

better now than when they're in college. its kind of just sad when its a college freshman

bleak lantern
#

2009 was a long time ago in technology terms

true nova
#

right, and we still had computers.

bleak lantern
#

I don't follow you

true nova
#

we were taken to the library twice a week for computer based activities, the first couple of weeks we were taught the basics on how to use them.

bleak lantern
#

yeah but primary schools here do not have them now, but they would have done in 2009

#

tech has moved on

civic marsh
true nova
#

i'm not sure bout that. but alright

bleak lantern
#

no elementary school would have had ipads in 2009

grizzled storm
#

But for testing the code I'd probably do the method you are already doing

true nova
civic marsh
#

they use ipads and chromebooks and stuff the kids are pretty good at using those

true nova
#

so uh, a chromebook isn't a computer? HmmSip

bleak lantern
#

yes it is

civic marsh
#

the workflow is kinda different

noble aurora
#

low end Chromebooks are essentially just browsers

civic marsh
#

theres a difference between "write some code in your editor, submit it to this online grading platform" than "go to google docs, write code, and share it with me"

bleak lantern
#

i don't know whether you're just joking with me... but honestly, you didn't have ipads in classrooms in 2009

civic marsh
#

because of that there are platforms nowadays (even for high schoolers) where everything is just integrated into the browser itself. like you write the code in the browser, run/debug it, and submit it from the browser

bleak lantern
#

you had desktop computers

bleak lantern
#

but now you don't - tech has moved on

#

so that's why kids can't use them at age 11/12

grizzled storm
#

Computer basics or something like it imo should be something taught in elementary school

bleak lantern
#

they can knock out a tiktok video with filters and complex editing all lip-synced though

bleak lantern
#

anyway - i feel like i'm convincing people it's difficult rather than getting good pedagogy ideas

#

my point really was getting students to use test suites isn't easy

true nova
#

you don't have to expose them to test suites at all.

#

you can just have them submit assignments that are simple code, then you run their assignments thru your own test suite / grading system which runs the code and compares what they're doing to what you expect them to do.

bleak lantern
#

but that would require me to go to my desktop and run a grading system

#

i want to be circulating the room

civic marsh
#

well at the end of the day, the amount of work required is the same, its just how do you want to split it. do you want your students to do most of it, or do you want to take more of it

noble aurora
bleak lantern
#

ok - but how?

#

like - if i can set this up for my classes this week that'd be awesome, but i genuinely don't know how

noble aurora
#

you could either create your own service, or use something like what robin posted above.

are you a programmer?

bleak lantern
#

i'm a teacher

civic marsh
#

the issue here is how "complex" you want to make the submission process. if uploading a file to a website which runs automatic tests and gives the student feedback is an acceptable level of "complexity" for the student, then gradescope would be a good solution

bleak lantern
#

yeah - this is the most plausible so far

#

ideally they'd be able to type the code into gradescope

civic marsh
#

i dont think thats a thing ime, but its also the biggest issue

#

since now they either need an editor or if they're using an online editor, need to know how to download their files and re-upload them to gradescope

#

thats a deal breaker for some folks so they look for more integrated options

bleak lantern
#

yeah - which is tricky

civic marsh
#

another platform you could look into is zybooks. also commonly used in college classes, but its different since it incorporates a textbook as well

bleak lantern
#

i'm starting to think colab might be the thing

#

i'll look at zybooks

civic marsh
bleak lantern
#

it's just it can show what's expected within the text and then the student can compare

#

which is not grading it but it's not about a number, it's about them making progress and knowing it

#

at the end of the day... i want them to know more

#

i just feel my current pedagogical approach is slow and lumbering

autumn marsh
#

"Through GitHub Classroom, you can configure tests to automatically grade the work of each student every time that student pushes to their assignment repository. To learn more about autograding with GitHub Classroom, see "Use autograding.""

bleak lantern
bleak lantern
autumn marsh
autumn marsh
bleak lantern
#

think i'm going to give up to be honest

#

pedagogy is one of my favourite interests, but i think it's best discussed with other teachers really

sly spire
#

I've been coding for more than 8 years now, specializing in Django. However, I never formally studied Data Structures, Design Patterns, or Algorithms. My approach has always been practical rather than theoretical.
I currently work as a Developer in a company where I built a custom CRM system tailored for our business or any company running Virtual Assistance (VA) services.
While I’ve gained a lot of experience building systems, I feel I lack knowledge in foundational topics like theoretical computer science. Could someone guide me on what I might have missed and what steps I should take to strengthen my skills?

worldly dewBOT
#

:incoming_envelope: :ok_hand: applied timeout to @brave niche until <t:1732637408:f> (10 minutes) (reason: duplicates spam - sent 4 duplicate messages).

The <@&831776746206265384> have been alerted for review.

tulip escarp
#

hi, I started a Python course few weeks ago. It is very slow and looks quite not-interesting. I will put some more effort with it, but in the meantime I'd like to get some suggestions for great Python courses. thanks!

misty dirge
tulip escarp
bleak lantern
#

I'm curious what people think of PRIMM as a teaching methodology. I've been trying it, but not sure to be honest. Evidence driven... but is it actually good?

subtle owl
bleak lantern
#

Maybe my terminology is different

subtle owl
bleak lantern
#

oh - how does that relate to PRIMM?

subtle owl
#

It follows the very same steps and process

bleak lantern
#

so, the thinking behind it is around getting students to read the code and understand it before running it

#

I have a big problem with that aspect

subtle owl
#

In terms of?

bleak lantern
#

Well - I find it hard to do.

subtle owl
#

Any specific part? What were the issues encountered? Any specific example?

bleak lantern
#

so the P in PRIMM is about prediction - how do you get students to do the prediction without glossing over it?

subtle owl
#

Generating hypotheses has worked well for me

bleak lantern
#

how have you approached it?

#

(have you done PRIMM, specifically?)

subtle owl
#

(I am not certified PRIMM, if that's the question)
But generally speaking, you have a problem in front of you. From there, I force the folks to list what they know currently. And then devise expected behaviors or outcomes depending on specific suites of inputs for instance

#

The specifics will depend on the scale of the problem, code base, as well as the level of experience of the engineer

#

But basically it's just a simple application of the scientific method

bleak lantern
#

are you talking about pedagogy though or just like... project management?

subtle owl
#

This is a channel dedicated to the pedagogy, like how to teach others. If you want project management advice, that would be a different channel. See #❓|how-to-get-help

bleak lantern
subtle owl
#

Great! So why the confusion?

bleak lantern
#

because it sounded like you were talking about working with engineers

subtle owl
#

Alright, hold on. What is your background and problem you are trying to solve here?

bleak lantern
#

i'm not trying to solve a problem, i was talking about experiences with PRIMM

subtle owl
#

Are you actively teaching others?

bleak lantern
#

of course

subtle owl
#

In the field of computer science / information?

bleak lantern
#

yes - otherwise i wouldn't be discussing it

subtle owl
#

There is not a causal link here. We have plenty of folks who aren't working in computer science / information and still hang out. The diversity is what makes the community so nice.

bleak lantern
#

i know, sure but i'm really keen to discuss with educators their approach to pedagogy

#

(or anyone really - but i don't know how non-educators would understand the issues)

subtle owl
#

believe it or not, but people will continue learning after graduating 😉

#

That's also why I was asking your background, to see if you have any industry experience

bleak lantern
#

of course, but that's different to pedagogy

subtle owl
#

how would that be different?

#

it's more rich and varied for sure, so it encompasses more facets

bleak lantern
#

well - it's just nothing to do with pedagogy

subtle owl
#

How would that have nothing to do with pedagogy?

#

Let's try to present arguments in the conversation. Otherwise just throwing random opinions won't get us far

bleak lantern
#

i'm not trying to have an argument

#

i was just wanting to talk about pedagogy

subtle owl
#

I think it would be best first to familiarize yourself with the term

bleak lantern
#

i mean - it's my job

subtle owl
#

then why advancing uninformed opinions?

bleak lantern
#

i'm not

#

i was asking about people's experiences with PRIMM - not sharing any uninformed opinions

subtle owl
#

So either way, we are going in circle. Good luck!

bleak lantern
#

you're sort of trying to say that learning by yourself is the same as pedagogy I think? Or have I misunderstood?

#

pedagogy is literally about the practices of teaching - how you go about getting a class to learn something.

#

i'm not being awkward here, just i don't think you're on the same wavelength

subtle owl
#

I only said that people will continue to learn. I never said it's strictly limited to people learning by themselves.
There are gazillions of contexts in which pedagogy applies.

I hope the context clarifies it, but good luck!

bleak lantern
#

of course they continue to learn, but that's not what pedagogy is

noble aurora
bleak lantern
noble aurora
#

the way i interpreted the conversation is that recursive_error is talking about teaching engineers in a semi-structured environment. i think the same concepts can apply

bleak lantern
#

i think he was talking about onboarding on projects, not teaching how to code

noble aurora
#

right, but onboarding on projects still needs learning, just different topics

bleak lantern
#

but learning isn't the same as teaching

true nova
#

when you onboard someone you're teaching them arent you?

bleak lantern
#

i've no idea

#

is the group more about how to onboard rather than how to teach?

true nova
subtle owl
# noble aurora the way i interpreted the conversation is that recursive_error is talking about ...

I was actually thinking way bigger than that. For instance:

  • You need to write the documentation for a product. There is pedagogy involved in how to transfer the knowledge onto the users. Which methods do you employ? Which order? How do you organize the materials (ex: recipes vs reference vs etc.)
  • Related to the above, you need to train the sales people. Some companies even have internal certifications which need to be prepared and updated for sales people who are not technical at all but need to be able to convey complex ideas in simple terms a prospect might understand
  • Training people is a whole job. There are jobs where you do train practitioners to your classes. Typically used for certifications
  • Training other engineers on new code bases, new technologies, etc.

There are also many other contexts in which pedagogy is applied and it's far more open ended than one might think

true nova
#

Discussion of the methods and practices of teaching
i believe recursive_error was saying about how PRIMM is one of the methods on how you would onboard someone, which would fit under the topic imo.

subtle owl
#

it would be very narrow minded to limit pedagogy to teaching in a classroom in a highschool or college

true nova
#

agreed.

subtle owl
#

and pedantically, that would not match the definition of pedagogy

true nova
#

like you said, everyone continues learning well beyond high school / college

bleak lantern
subtle owl
bleak lantern
bleak lantern
#

strange

#

never heard that one before

bleak lantern
#

Well, not the P part

#

i worked on a research project with the developer of the PRIMM methodology, we had several phone calls about it, and she helped to restructure the computing curricula in the UK around it. But, there's a strong side of me which thinks the P bit doesn't work well. Which is why I was curious to discuss it.

true nova
bleak lantern
#

Predict

#

I'm pretty sure you know what predict means.

true nova
#

sure, but i want you to tell me what it means in this context in your own words.
no need to be a smartass.

bleak lantern
#

what does it mean to you?

true nova
#

P: give students a piece of code code that contains the function ```py
def multiply(a, b):
return a * b

ask them what they *expect* this to do.
bleak lantern
#

it's not mystical - it's simply about working out what you think the code should do

#

yes

#

but they won't actually do that

true nova
#

right, so why doesn't it work for you.

true nova
bleak lantern
#

well, that's literally the point, it's very difficult to encouage a group of mixed ability people to do this

true nova
#

not when the example is as simple as it can be re: the context of the entire group.

bleak lantern
#

that's why it's flawed - in reality it won't work

#

in theory, if you're talking about a very disciplined group of mature minded people, it's a great and logical idea.

#

but you can't do it in practice, because it's simply not engaging enough

true nova
#

does everyone in the group know multiplication? then you can give a piece of code that does multiplication.

start with the basics

then split off everyone based on their abilities

then give them new problems to analyze based on their espected skill levels.

bleak lantern
#

so what do others do?

subtle owl
#

Engaging and interesting problems can go a long way in gaining and retaining attention

#

compare for instance the first problem on codingame and leetcode

true nova
bleak lantern
#

but when you're using PRIMM you're not splitting people into different ability levels

#

trouble is that i'm talking about a methodology with people who don't know the methodology

true nova
#

i was onboarded using PRIMM pretty sure.

bleak lantern
#

we could do with pedagogy roles or something

#

how did it go then KRRT?

true nova
#

Predict -> look at piece of unfamiliar code, predict.
Run -> run code, assert the expectations
Investigate -> investigate where the code can be applied to
Modify -> modify code to take in new conditions so that it can be applied somewhere else as well.
Make -> build upon modified code.

bleak lantern
#

no - i mean how did it go as in how did you actually find it?

true nova
#

pretty intuitive.

subtle owl
# bleak lantern trouble is that i'm talking about a methodology with people who don't know the m...

In terms of community participation, I would also encourage you to avoid arguments of authority and focus on the strength of the arguments.
It will make for more productive discussions and avoid you hitting some walls.

We all come from a different backgrounds, experiences and countries.
For instance we have so much to learn from your experience in school, and you have so much to learn from the experience of people in the real world. And that way we can all learn from each others and drive to better solutions and more engaging discussions

bleak lantern
#

so when you predicted, what did you physically do?

bleak lantern
subtle owl
bleak lantern
#

like - i'm interested in the process of how T&L works in the software domain

subtle owl
bleak lantern
#

no - of course not

#

there are many millions of teachers

#

but i was arguing that it's not, for example "documentation" because it's not

#

and even now - we're discussing what it is rather than how to do it

subtle owl
#

Documentation is not pedagogy the same way slides or books aren't pedagogy

bleak lantern
#

exactly - none of those are

#

agreed there

subtle owl
#

these are just non-sequitur and I don't see why you keep bringing non pedagogy related concepts here

bleak lantern
#

you brought them up

subtle owl
#

I never said that documentation is pedagogy

bleak lantern
#

oh - someone did - forgive me

subtle owl
# bleak lantern oh - someone did - forgive me

Here is what I said:

  • You need to write the documentation for a product. There is pedagogy involved in how to transfer the knowledge onto the users. Which methods do you employ? Which order? How do you organize the materials (ex: recipes vs reference vs etc.)

The documentation is just a medium. The pedagogy aspect is about how you teach your users about a product and related concepts that come into play.
The same way a teacher might use slides and other media (or even activities) to teach pupils about concepts

bleak lantern
#

never done that

subtle owl
bleak lantern
#

kids rarely learn from a powerpoint

subtle owl
#

I never strictly limited your medium to powerpoint

grand lantern
subtle owl
#

though it's common to have teachers use slides as a medium in college

bleak lantern
#

it's a nightmare if you find someone who uses slides

grand lantern
#

9/10 times they don't teach well from a power point. Just make a doc if you don't intend on diving further in than the bullet points. This goes for college too btw

grand lantern
#

Just cause someone's a professor doesn't mean they're a good teacher

subtle owl
bleak lantern
#

if powerpoint disappeared it would be to the benefit of learning

grand lantern
#

I would say removing power point from the education system yes. Do docs instead. I've been writing up documentation and its so much better to do than power points. Especially cause people can view it later and not have to listen to a lecture

bleak lantern
#

i'm a mini-whiteboard advocate

#

they're my go-to teaching tool

autumn marsh
bleak lantern
autumn marsh
#

imo powerpoints should cooexist alongside a proper doc.

The main purpose of a powerpoint is to be a visual aid alongside a lecture/presentation.
Which is mainly focused at teaching students talking in public.

And the research part of the project, should be written down in some form of proper document.

#

Without something like a powerpoint visually there whilst you are speaking, your lecture or presentation will more than often just bore out the listeners

autumn marsh
# bleak lantern i'm a mini-whiteboard advocate

Purely for live-lectures sure. But if you do some kind of recording and making it available afterhand for students, i think you should have a proper doc, as whiteboard sessions can get really chaotic xD Not to mention things you wipe off

bleak lantern
#

i'm not a lecturer or presenter

autumn marsh
#

they're my go-to teaching tool

Had me thinking you give lectures

bleak lantern
#

no - i'm a teacher not a lecturer

autumn marsh
bleak lantern
#

do you lecture?

autumn marsh
#

I don't. My mistake stems from us not having a different word for lecturer and teacher in my language i think.
so i meant teacher from the get-go and not lecturer.

My bad

#

"Teachers are primarily educators who work with students in an academic setting, whereas lecturers are experts in a specific subject matter who lecture on the subject at various events"

I see.

Doesn't change my opinion on the white-board sessions though.
If it is always a live session and people are there paying attention, go for it.
If not it should cooexist with some other form of documentation imo

bleak lantern
#

how does that improve learning?

autumn marsh
#

If for example a picture of the whiteboard at the end of the class is posted (again if not all students have to be there in person at the time), these students have no context to whats on the board, and may be missing (wiped out) info

#

@bleak lantern What grade do you teach in if i may ask?

autumn marsh
bleak lantern
#

Mini whiteboards as well.

noble aurora
pastel river
#

Classes only being in person is nothing strange, is it?

pastel river
bleak lantern
bleak lantern
noble aurora
bleak lantern
noble aurora
bleak lantern
#

It’d be too time consuming, and no one would do it.

#

As in, the students wouldn’t do it.

#

Did you have ways to catch up when you were in high school?

noble aurora
#

yes

bleak lantern
#

If you’re off for a week, that’s 30 hours of catch up the following week. While still doing your existing school days. How do you fit it in?

#

How did teachers provide catch up for you?

bleak lantern
#

Well. We’ve seen during Covid that it don’t happen unless you’re there in person for the most part.

noble aurora
bleak lantern
#

Your teachers must have had a lot of time on their hands.

cedar ibex
#

Providing students with the material that they missed seems like the bare minimum

bleak lantern
#

Why?

noble aurora
bleak lantern
cedar ibex
#

You wouldn't want students to get behind just because they get sick

bleak lantern
#

Tbh it’s just excuses for the majority of cases.

bleak lantern
#

And they simply never actually catch up. When they’re off, they miss things and perform worse in exams. Excellent attendance is vital.

bleak lantern
bleak lantern
noble aurora
bleak lantern
#

I guess you had teachers who just read from PowerPoint then.

bleak lantern
noble aurora
#

what question?

bleak lantern
#

This one. With the question mark.

noble aurora
#

you may have missed the part where i said that the materials aren't created solely for the people that missed class. as an example, in my bio course we sometimes did labs online using some flash app. there's no reason that can't be done by someone that missed class

bleak lantern
#

I’ll probably back out of this now as I’m feeling a bit judgy about what counts as teaching.

pastel river
#

For me when I was a student at uni:

Lab assignments in engineering/programming came with a short written material and problem statement. You prepared at home and did the last parts/presented at a dedicated time with teachers.

The labs were small part of the education. The majority were lectures.

In mathematics we had this:

  • book with theory and practice problems
  • lectures (only whiteboard, never slides), everything that said was written so the students had time to take notes).
  • classes, smaller groups than lecture, solve problems from textbook together with teacher as whole group, and individually. Better chance to ask questions.
  • Exam

No material except the book was handed out. If you missed a class, make sure to catch up.

bleak lantern
pastel river
# bleak lantern which did you find easier to learn from?

For the math's list, all of them are valuable.

Regarding programming lectures from slides, also ok, but not as good as "live" whiteboardingof the math courses.

Math lectures would absolutely not have worked with premade slides.

autumn marsh
# bleak lantern Tbh it’s just excuses for the majority of cases.

To me this is a wild statement coming from a teacher.

If you don't even trust your students to not lie about their absence reason,
your brain will not justify you putting in extra effort to catch them up to speed again... As is evident by the rest of the conversation.

Why come in here to try and do it better, if in the next statement you compare yourself to other teachers?
Fuck other teachers, You are you and you should try to be the best you, not an average teacher.

Just know, if you take offence to my opinion,
that i am just a random guy on the internet.
And i will respect you just as much as before, as i can image that being a teacher is really hard.

grand lantern
#

I would say it depends on if you're talking public school K-12 or Higher education in a university where the standards are significantly higher.

cursive briar
#

Hm

grand storm
bleak lantern
autumn marsh
# bleak lantern The difficulty is simply that teaching is not the same as presenting. It's not ...

Completely missed my point, but going further on this.

Depending on the subject, eg maths, Your primary focus shouldn't be to make them learn every definition, constant, rule, ... out of their head. imo a teacher should be focusing on teaching a student how to learn, not how to remember possibly irrelevant crap for what they want to do when they grow up.

Most of those formulas, .. i learned during math's i don't know anymore, but the greatest thing those lessons have done for me is teaching me problem solving, which for my profession is 1000x more important than some silly formulas i can google anyways...

then circling back to the previous conversation, supplying these extra ways for students to catch up, or revisit important information from the class, aids them in their self development, you teach them to learn on their own...

bleak lantern
#

seems a great idea, but only from an adult point of view... bigger priority is teaching how to behave

autumn marsh
#

Isn't that what parents are for?

#

someone misbehaves, call a parent, let them sort it out

#

Not your job or place

bleak lantern
#

indeed, i sometimes get calls (quite rare but it does happen) asking to support with behaviour at home

autumn marsh
#

That should not be a normal teacher's job

bleak lantern
#

yes - it's a normal part of a teacher's job

autumn marsh
#

Over here they hire special people to do that, that have learned something regarding psychology, ..

bleak lantern
#

i don't know where here is, but in the UK it's a teacher's role.

autumn marsh
#

Not to far from you, Belgium.
imo that is a big flaw in the education system...

You should be educating people, not teaching them how to behave or helping with the situation at home. there are experts for that.
(generalizing)

bleak lantern
autumn marsh
#

Psychologists?

simple olive
#

A primary function of school is to keep children occupied to upkeep parents' economic output

#

And so managing behaviour ends up in the school's responsibilities

autumn marsh
#

Sounds like lazy parents or bad parents to me.

My parents for example split their work up so 1 is working in the morning, and 1 afternoon. this made sure there was always someone at home, and thats where the behavior is supposed to get corrected.

simple olive
#

And some parents work 4 jobs between 2 it's not a laziness issue

autumn marsh
# simple olive And some parents work 4 jobs between 2 it's not a laziness issue

Bad parenting then, If you aren't financially ready to have and educate a kid, why have one?

To offload your responsibilities to an educational institution that should be focused on other stuff?

I'm going to far off point here though, And you made me realize that schools are just filled with students whose parents offload their responsibilities on the schools.

bleak lantern
#

And so that’s why teachers become responsible for the behaviour of students

#

So teaching Python by showing slides will not work. Kids need to be actively engaged. All of them.

#

That’s why pedagogy is interesting. And why I’m dismissive of “just share some slides “. There’s a reason it’s a separate channel. That’s because it’s a very hard skill to get right.

autumn marsh
#

I'm not agreeing with you gatekeeping self study and possibility to catch back up, don't get me wrong.

I still think there is a mentality switch that could be made there

bleak lantern
#

I’m not gate keeping. It’s just not my job.

bleak lantern
#

I’m not sure why you’d expect me to, really. I don’t expect my doctor to go to the gym for me.

#

Most teachers do 50 to 60 hour weeks and I think adding more workload is an odd reaction to that.

autumn marsh
jolly night
#

@autumn marsh you're telling @bleak lantern how to teach, prescribing how parents should parent, how schools should be run, etc. Maybe relax with telling people what they should do.

autumn marsh
#

Alright, my bad on that part. my opinions on the matters remain however.

autumn marsh
#

To my knowledge that is not telling anyone what to do, because it literally already is their job, or am i wrong?

jolly night
#

Second, what teachers are supposed to do depends a lot on what they are teaching. Nursery school teachers are mostly getting kids used to being in school, there's not much academics.

#

College professors do all academics. It's a spectrum.

autumn marsh
#

Pretty sure we established highschool, at least that is what i am going off of

jolly night
#

@autumn marsh you seem to literally be contradicting @bleak lantern actual experience.

simple olive
#

For millennia raising children has been a group effort, it's only relatively recently that parents are expected to do almost all the work

brittle sand
#

What changed?

jolly night
simple olive
#

Probably a number of factors - mortgages and automation?

weak mortar
#

Yo Yo Yo Skibidi Sigmas

autumn marsh
jolly night
#

how does that help?

autumn marsh
#

Because someone needs to change it?
Why follow the rest if you see somewhere else that its going better?

#

I obviously know that this is easier said than done

#

But that does not take away the validity of my opinion

autumn marsh
jolly night
#

it's fine to have opinions about society, but maybe keep it separate from a particular person's discussion about their situation.

bleak lantern
#

I teach 11 - 16 year olds

grizzled storm
#

i do think that giving kids the opportunity to partially catch up is a good idea so like if you did some assignments or small projects you can give them to the students that missed a few classes and if they need you can probably look together for a small moment to help them with those assignments but imo that should be coming from the students and for like 11-14 you can point them to that option but at the end of the day it's not your problem or fault

bleak lantern
#

I do find it interesting how people have an idea of what they think is reasonable for someone else to do, even though I know full well they wouldn't do it themselves in the same situation.

#

I think a lot of people think they understand "teaching" because they have been "taught". I've seen hundreds of films and read many books, but I don't consider myself an expert author. I love musicals but writing one is something else.

#

Anyway - I do enjoy the opinions and exchanges of ideas - genuinely. As long as people are equally open (rather than just telling me I'm wrong and don't know what I'm doing!)

royal dove
# bleak lantern I think a lot of people think they understand "teaching" because they have been ...

(A response to your statement and not your situation)

Being able to critique a thing is a different skill than doing that thing. While someone who has watched hundreds of films likely can’t make one, they are likely to be able to discern what makes a film good or bad. And being good at that, is a skill in of itself. So even if someone has never done thing X before, they might still have very valid critiques.

bleak lantern
royal dove
bleak lantern
#

Even within teaching, you don't tend to know what you're looking at when observing lessons until you've been teaching for 3 or 4 years

rain radish
bleak lantern
signal adder
# bleak lantern among others, yep

Ill tell you this: believe in your students no matter what. Fuck reality, help them in any way you can. My form tutor/biology teacher in sixth form told me I couldn't get 3 As. That destroyed me mentally and even 4-5 years later, it still somewhat affects me. If it seems there's no way for them to achieve a certain goal, tell them its ok to start over and search for another path. But make you sure fucking help them and believe in them

subtle owl
bleak lantern
bleak lantern
signal adder
bleak lantern
signal adder
#

Some do, some don't. All Im asking is just believe in those kids no matter what and help them no matter what. Not many teachers do that

bleak lantern
bleak lantern
grand storm
# bleak lantern Nearly all teachers do that.

Nearly all teachers follow the curriculum and get paid to do the job, and occasionally help students where there's an obvious need. Most don't do what he or she is saying, because it's hard and it's time consuming. I have the luxury of doing that but all my teaching is 1 on 1 with private students so I can project that onto the whole

#

To put it simply, most teachers, as with most anything, are mediocre

grand storm
#
  1. Verify problem
  2. Clarify problem
  3. Underlying cause
  4. Potential solution
  5. Try it. Didn't work? Back to step 4
#

They're not turning in their projects on time

  1. Look back and see if it's a consistent pattern
  2. Isolate any particular variables to narrow the scope, ie is it particularly writing assignments or is it the software projects?
  3. Do they not understand something? Are the things they're struggling to turn in something theyve struggled with in class? Do they have a lot of distractions/anxiety in their home environment? Are they not eating enough so Maslow's hierarchy is taking them for a loop? Do they just not know how to manage their time?
  4. Taking the last one as an example, introduce them to gtd or bullet journaling
  5. Did they implement it? If not, try the next thing, informed with what you've learned
grand storm
jolly night
#

Overall this channel seems really good at "that's not my experience, so you are wrong." I wish there were more exploration of how different situations lead to different outcomes, and what different approaches are therefore needed.

bleak lantern
#

what i'd really love is... "How should i teach python to 13 year olds?"

I already do... but if you were going to do it,... what would you do?

I feel I could shake up my technique somewhat because I worry it becomes boring.

  • so i start with:
  • starter for settling the class - takes 7 mins before everyone's in
  • what a programming language is
  • give examples of when they've instructed a computer before, to make them realise they've all done something similar already
  • here's IDLE - this is the shell / interactive window (and get them to open it)
  • this it how print works (and get them to do it - saying hello to their class neighbors, and writing a joke)
  • this is how we can add , subtract, times and divide. (and get them to do it)
  • talking about why 30 / 3 is 10.0 rather than 10
  • this links on to data types, and we learn some data types.

That's what I do for the first 50 minutes.

(I don't use slides.)
(I DO use call and response)

jolly night
#

That sounds like a good approach. I've never taught in a classroom setting, but this was how I taught my then-14-year-old niece one afternoon: https://nedbatchelder.com/blog/201212/kims_python_lesson.html

#

Definitely part of the challenge is to make it seem approachable, interesting, and relevant.

simple olive
bleak lantern
#

sounds intriguing

bleak lantern
jolly night
simple olive
# bleak lantern no

I learned python via self study with the Django tutorial (predates the Django girls tutorial)

#

Django girls is an easier on ramp and focuses on building something interesting rather than mathematics or printing

#

I think some students think programming is only for maths

#

I certainly did before starting with Django

bleak lantern
bleak lantern
#

one of my starter questions was this:

x = 0
x = x + 5
x = x + 5

what is the value of x now?

#

that got them arguing with each other 😄

jolly night
#

i would call that "engaged"! 😄

simple olive
bleak lantern
#

neither

jolly night
#

source control doesn't seem right for 13-year-olds.

bleak lantern
#

nah - they want to be inspired by things which are quirky and interesting

#

for the year below we investigated ASCII

jolly night
bleak lantern
#

the way is by showing an ascii table... then getting them to write their name in decimal ascii... e.g. 65 = A ... 66 = B etc

jolly night
#

ah, a code!

bleak lantern
#

and then using ALT codes to write their name using the number pad

#

that was the "woahh!!!" moment

#

especially when they could type in any number and see crazy symbols appear

pine stratus
#

ANSI escape codes are a quick way to get something more fun in Python (changing text color).

bleak lantern
#

the geekier ones are fascinated that they can READ the binary of the letters by seeing that it's ... e.g. 1 000 001 for A 1 000 010 for B...

The fact they can see the binary is linked to the position in the alphabet, they love that - it's like a code crack without needing to look something up

#

And 11 year olds are introduced to binary by learning how to count all over again

#

which is a favorite lesson of mine and goes down really well

jolly night
#

have you tried counting in binary on their fingers? Up to 31 on one hand

bleak lantern
#

"imagine you all lived in a cartoon like the simpsons - would you actually count up to ten?"

jolly night
#

i wonder how many of them have noticed that cartoons only give people four fingers

bleak lantern
#

that's what i point out

#

and then i get them to imagine a world where no one had invented 8 or 9... and ask the whole class to count in unison

#

they do ok until they get to 77

#

then i keep reducing the number of digits until they only have 0 and 1.

#

and then... ask them to count... and then they do it. perfectly. no explanation of binary needed

#

hexadecimal is more difficult to explain... but i love talking about number bases...

23:59:59... what's one second after?

what's one inch more than 5ft 11?

#

most kids don't know feet and inches but a few do

pine stratus
bleak lantern
#

yes

jolly night
bleak lantern
bleak lantern
#

honestly, most love the challenge of thinking in new ways

pine stratus
bleak lantern
#

i do wonder if i should slow it down and just add one letter at a time though

#

or... maybe create some new numerals

pine stratus
bleak lantern
#

yeah - possibly - a lot of them ask about trinary... which is a weird question from 12 year olds

#

but they like the idea somehow

#

i think i've gone a bit off topic, because i'm talking about general computing pedagogy rather than python

#

so apologies for anyone this irritates

#

one thing i talk about quite a bit is coin flipping and the state of coins. (it's more relatable than switches)

pine stratus
bleak lantern
#

they're all totally cool with one coin having two outcomes and two coins having four outcomes.

most kids (and adults) think 3 coins have 6 outcomes

#

so we really talk about that idea a lot and cement in the whole "doubling" thing as it's another foundation idea

pine stratus
bleak lantern
#

(this sort of stuff never works if you're not with them in the classroom - doesn't work on worksheets / slides etc. I don't know why, but I can get a whole class of very very weak kids to be totally on board in person, but I can never do it unless they're there in front of me, showing me what they understand)

pine stratus
#

(Also the method I use for probabilities)