If you have never programmed before you may be surprised by how hard software development is. It is not a topic that you can learn by taking notes. It involves logic and creativity. It involves understanding the computer and its software. You have to practice solving problems. You have to express these solutions in a form (a program) that a computer can follow. You then do experiments that test your computerized solutions. This means finding mistakes you have made and fixing them. Software development is challenging. I hope you enjoy it. If it was simple -- we would program a computer to do it for us.
Since there was no (0) reading set for the first class, you have all done the first piece of assigned work and will get 2 points credit. From now on you will need to study the required text to earn points.
You need a copy of the required text for this course. In Spring 2013 this is: "Big C++", 2nd Edition, by Cay Horstmann and Timothy Budd, pub: John Wiley & Sons, ISBN 978-0-470-38328-5. It should be in the book store. Used copies should be OK, but do not buy older editions. We will cover the first 6 chapters. Most of the rest of the book is covered in CSE202. If you are not continuing to CSE202 it may pay you to rent rather than buy the text.
All the readings have been assigned. The assigned readings for CSE201 are listed in the [ schedule.html ] with details in the notes for each class.
I will finish each class by introducing the assigned reading.
Prepare for each class by studying the assigned reading. Start by looking at the contents of the web page for the class. It should contain a study guide. Use the study guide to study the assigned pages in the text. Make notes as you read. Jot down your questions and doubts. THINK! Try examples out on the computers if you have time. Go back to the web page and see if your questions have been answered there.
The detailed study guide includes a list of relevant review questions. Do as many of these as you have time available. Take a piece of paper and print your name on it in the top right hand corner. Write one(1) of the Review questions and your answer. Bring it to class and place it on my desk. I will grade it as soon as I can and return it to you.
If there are no relevant review questions in the online study guide, write down one question you want to ask on what we have covered and I will get the answers back to you as quickly as I can.
This work earns 2 points * 20 = 40 points total(max).
If you can't make it to class , use the [ contact.html ] form to send me your name, question, and answer.
Hand your question (or a blank sheet) with your name to provide evidence that you are there!
In the first class, hand in a sheet with your name and answers to two class exercises.
Quizzes contribute a maximum of 96 points to the course total.
The grade will depend on how much work you have done at the end of the laboratory, plus how well it is done. Again see [ schedule.html ] for dates and the web site links for details. Note: I may be revising the labs up to the start of class before the lab.
Each laboratory can earn a maximum of 10 points. These will be assigned as a letter grade (A=10/10) at the end of the 2 hour period based on how much work you've done and how well it is done. A D grade(D=7/10) is for working hard the whole period. An F is for not working or not turning up(F=0). Note you can leave early if you are happy with the grade you have earned at that point.
The work will normally be graded at the end of the lab session by the teacher. However, some students have scheduling conflicts and must have a written agreement of when and how they will submit their work for grading.
If our systems or your account are not working I stretch due dates/times to include the downtime.
Once completed you are free to (1) leave early, (2) help others, (3) do project work, (4) try examples in the reading, (5) do your own experiments, or (5) tap into legal and relevant Internet resources (including your Email).
After you hand in a project you may also have to answer quiz questions on the work you've just handeed in.
Warning 1 -- you will get ZERO points if there is any evidence that you copied your project work from someone but didn't document where you got it.
Warning 2 -- I also use quizzes to check to see if you are familiar with the work you've just handed in.
Independent Lab Work is the best way to avoid getting confused and learn how computers and programs work. Don't just read code, also input it and compile it. Try out your ideas in the labs. The more time you spend working with code on our lab machines the better you will do.
Programming requires independent thinking and mastering unfriendly software. It also involves writing something, testing it, and discovering that it is wrong. Sometimes it takes a lot of effort to find and correct a mistake (debugging). Don't be surprised if you spend a lot of time correcting your own mistakes.
Debugging is like a "Crime Scene Investigation" -- with less sticky stuff. The time spent debugging is reduced, if you work out a detailed design before you start and follow the books advice. Practice reduces the number of mistakes you make -- especially if you keep a log or journal of what you are doing and learning.
If you get stuck, see me or any CSE faculty. I am happy to comment on any algorithms, data, or programs if you bring a printout of the problematic code and the symptoms. You can send me a copy of the code (in ASCII) including a description of the problem by email. The [ contact.html ] form makes this easy. Note: I'm not a psychic and so I usually need to know what went wrong and see a copy of the source code.
Notice the deadlines. I want to see how far you got in the allotted time. You will loose all the points if the work is late and you have no documented excuse. All programmers feel that their project would greatly improved if they had a few more hours/minutes/days/ etc.. The projects are time boxed: how far can you get in the allotted time?
Good programs don't just work. Good programs are easy to understand and change. So they should start with a description of who you are and what you are trying to do. They should have the number of the project in the book and a copy of the specification in the book.
More, Style is important. Follow the books style hints. Aim for the simplest thing that can possibly work written in the clearest way you can imagine. The best way to learn style is to write something and be given advice on what you've written.
. . . . . . . . . ( end of section Tentative Syllabus CSE201 Spring 2013) <<Contents | End>>