Programming is one aspect of computer science and software engineering. The primary goal of this course is to build a solid foundation of programming knowledge and skills. With what learned in this course, the students should find it is easier to learn more advanced concepts in computer science.
Not everyone will be or want to be a software engineer, however, this course can help them realize how a problem can be solved by using computer program; how Python can help scientists and engineers improve their productivity.
Believe or not, software developers usually join a product development from the very beginning to the very end. (while this is not true for mechanical engineers or electrical engineers). Most importantly, sometimes, updating software is the better solution to fix or improve a product.
The teaching can be viewed as a vehicle to help students develop problem solving skills. This course will use some mathematics or physics, but it is not a math or physics course, and we use them in programming to re-enforce the learning in those fields.
At the end of this course, It would be a great achievement for the students and me when they find they are able to learn some other programming languages or computer science topics not taught in this course by themselves