Yeah, it seems like this would be better served to be split into two (or more) courses if you're assuming almost no prior knowledge. "Software Engineering" is a pretty ill-defined term, but I'd generally think of it as the _process_ of developing good software, and that sort of presupposes you can develop _any_ software. Coming in with some ad hoc ability to program (and probably some bad habits!) would be a plus - then the "process" part is actually solving a problem, rather than just feeling onerous.