Teaching systems analysis and design - how much programming experience is needed?
I teach a one semester University course in systems analysis and design. Topics include design patterns, UML, OOP, software development lifecycles, and the history, benefits and drawbacks of various methodologies (such as Agile/SCRUM/BDUF/Waterfall.)

Students who enter the course should have *some* exposure to programming, but in reality I've seen everything from people who are highly fluent in one or two modern languages to those who can barely pass the FizzBuzz test. 

My question is two-fold: how much programming experience do you think students need before exposure to these topics (or do you think they should learn them before they learn to code), and second, what do you feel would be fair and appropriate ways to pre-test them at the start of the class, knowing that there is no consistent language or platform in their background?
Teaching systems analysis and design - how much programming experience is needed?
===

I teach a one semester University course in systems analysis and design. Topics include design patterns, UML, OOP, software development lifecycles, and the history, benefits and drawbacks of various methodologies (such as Agile/SCRUM/BDUF/Waterfall.)

Students who enter the course should have *some* exposure to programming, but in reality I've seen everything from people who are highly fluent in one or two modern languages to those who can barely pass the FizzBuzz test. 

My question is two-fold: how much programming experience do you think students need before exposure to these topics (or do you think they should learn them before they learn to code), and second, what do you feel would be fair and appropriate ways to pre-test them at the start of the class, knowing that there is no consistent language or platform in their background?