Programmers have errors every time they write code. This is expected and is OK!! We learn from our failures (Growth Mindset). CS takes discipline and persistence - which leads to the wonderful reward of creating something cool.
Do all material. The teaching staff has put a lot of thought into what students need to know to learn to program. The material builds - skipping it can leave gaps in your understanding. Even if you think you know most of it, you will learn from doing the material and/or solidify your current understanding. There are no shortcuts to really learning this and getting yourself a strong CS/programming understanding.
You may need to watch videos several times to understand them. This is one of the real advantages of an online class - you can watch the “lecture” as often as you need to. We fully expect that most of you will have to watch some videos several times. Don’t just “do the material” - LEARN the material. That may take several passes of Read/Watch/Do.
College - you are on your own. Time is a valuable asset. College students need to learn time management under fire. Here is a guide (your experience may vary) for CSC106:
Many CSC106 assignments take a decent amount of time - do not try to do them on the evening that they are due. This approach leaves you no time to get help and to allow for things taking longer than you expected.
Read the Brightspace Discussions about an assignment or class topic. Even if it is another student’s question, the answers and discussion there may help you. After reading the Discussions forum, if you have a question, post it on the Discussions forum. However, do not post code on the Discussion forums. You can describe your problem, but do not post your code.
We have teaching staff available for you to meet with and get help almost every day during this course. It really can help to have someone to show your code to and discuss it. However, you must at least start your assignment and come to the staff with specific questions. The staff will not stay with you while you write code nor will they tell you how to do things - they will guide you to learn how to do it.
In middle school and high school, you learned to write essays. Your teacher told you to outline the essay, possibly with sections and then subsections under the sections. You never should just start writing an essay - always outline the main points and break down what you are going to write.
Coding is similar. You will be writing programs over 100 lines of code. Outline the parts of the code using Javascript comments (which you will learn). Then break down parts of the program until its easy to code the small parts.
Starting a program can be intimidating. Start by coding something very simple from your code design (outline). Write few lines to get some small part of the program to work. Doing some coding and getting it to work can get your brain engaged.
Do not try to write your whole program and then test it. Write each small piece and test it incrementally as you code. No carpenter builds a whole house and then sees if it is solid - they build part of the house and test it, then build the next part and test it. As you get major parts of your program working, use the Khan “Spin Off” to save a working copy incase you break something in the next phase.
We will teach you some of the Javascript language, but there is much more that you can use when writing your programs. Use the Khan “Documentation” tab that has many other parts of the language. Googling and asking AI (e.g. ChatGPT) for help also works. However, be sure to read the plagiarism policy in the syllabus - using other code without attribution may be considered plagiarism and will be handled as such.
From the syllabus:
For programming: While you may discuss general solutions and algorithms with classmates and/or AI, you are not allowed to:
Share code with other students Look at any other student’s code Use code provided to you by anyone else Use code that you find on the Internet Use code generated for you (e.g. by AI). You may ask AI questions about algorithms and ways to approach programming this assignment, but you may not have AI generate code for you, paste code into AI, nor copy/paste code out of AI. Use programming constructs not taught in class without prior approval by the teaching staff. If you use code that you did not write specifically for an assignment, you must have the permission of the teaching staff, and you must include in comments in the code where the code came from, and describe how the code works.
If AI was used to generate code with permission of the teaching staff, you must provide a screenshot of the interaction with the AI tool including the prompts you used and the code generated.
If you ever have a question about what is acceptable when working on a programming assignment, please contact the teaching staff.