Course Management: How I Run This Course

Introduction

This page describes how I run this course (SDEV 140)

TLDR: do's and don'ts

Short History

In previous iterations, this course included both Python and Visual Basic. It did not include MindTap assignments, and to be honest, the coursework (exercises) were a bit more intense (more programs, more complex requirements).

New Course Version

I will ask you to bear with me as we start this new course, because I am still in the process of reviewing the new readings and assignments. I normally rewrite or edit all assignments because they do not measure up to what I want to accomplish and what I want you to learn. IF we do MindTap assignments, it will not be until at least week 4, and then we will start with simple ones.

How I View the Course

I'm a professional software engineer, and I approach this course as if you are training to be coders, developers, and potential software engineers. If you have read through the course standards and any assignments yet, you will already know that I place a lot of focus and emphasis on "standards" and how a program is constructed. There are reasons for that.

You can learn to program from Google. The code you will find in most online tutorials is not great, would not pass muster in a large, serious software project, and is sometimes just flat-out "bad". But you can learn some things if you know what to look for and what to avoid.

Learning to be a developer is another matter. It is more about learning process and best practices, than memorizing coding statements. It is more about learning how the many parts fit together and why some approaches are better than others - not about the specific code.

Assignments

First off, I don't penalize late assignments. If you are more than a week late, I'll touch base and urge you to catch up. If you are more than 2 weeks late, it is likely you will never catch up. I've seen it too many times. Try to keep up (and let me help).

It is sometimes easier to tell someone what NOT to do, that what to aim for. Here are my pet peeves that will get lots of points knocked off:

DONT's

  • Don't include a program header according to the course standards - first thing I see; just like a first impression: don't make a bad first impression.
  • No comments: whoever reviews your code is not supposed to "figure it out". You are supposed to explain it.
  • Do not follow instructions on things like user prompts, variable naming, and using functions.
  • Copy a lot of code from the Internet (yeah, I know - are you kidding?).
  • Do not follow the assignment instructions (ALL of them).
  • Do not follow other course standards.
  • Discussions: provide only short answers to everything.

On the other hand, it is very easier to learn a lot and get a great grade in this course:

DO's

  • Follow the course standards - review them before submitting any assignment.
  • Make sure you include a program header and comments in every program.
  • Read the assignment instructions more than once; if unclear - ask questions. Lack of clarity is my fault.
  • Make sure your code works before submitting; ask for help when you run into issues - that is my job: to help.
  • Try to understand the why of how things are structured. Concentrate on the concepts. You can lookup how to use a statement on Google - that's not the core learning to focus on.
  • Ask for help. Ask for help. Ask for help.
  • Be creative. Try something new. Make your prompts and output fun. Don't skimp.

Last Words

It is completely expected that you will have problems coding and running programs. Don't stress over it. Really, don't get too frustrated. It is easy to "fight it" rather than just working on it. If you work on an issue for more than 20 minutes, review the readings. If you still have issues, touch base with me (send me ALL your code).

You are welcome to lookup things on Google, Duck Duck Go, etc. But be forewarned: there is lots of crappy code on the Internet. Make sure you try to filter things so that you see articles on Python 3.0 or later. Feel free to ask me about ideas you find on the Internet.

Feel free to try new things. Try to take code a little farther and do more advanced things. I will not penalize anyone for trying something new - even if it fails. In fact, you might get extra points!