What are your steps and guidelines for database normalization? If given a bunch of people with good computer and logic skills, how do you explain to them how to normalize a
Make sure they understand that normalization rules serves as a long-term investment, and those rules were created over the experience of having to maintain an denormalized database.
Assuming they already know about the foundation concepts (Relations, Candidate Keys and Functional Dependencies) then start with BCNF. BCNF is by far the easiest to explain and is much more important that 2NF, 3NF, which are best ignored completely at this stage. Then explain Join Dependency and 5NF.
I used to teach this stuff to programmers back in the 1980s. Many of them had never even used a database, although they had been programming in COBOL, BASIC or C for ten years or more.
I used to teach database programming first, in some detail before ever getting into database design. And I used to teach conceptual data modeling, using ER, before getting into database design. Then, when teaching table composition, normalization came up fairly naturally. I only taught 1NF, 2NF and 3NF, although if I could go back and do it again I would probably include BCNF.
Moat importantly, don't teach at like it's some sort of religion. Teach what happens when you don't follow the normalization rules, and give them a glimpse of the situations where violating normalization might make sense. Too many beginners are taught this stuff like a violation is some sort of mortal sin. It's not.