Seattle Central Community College

BITCA Department

Course Title/ Number: ITC110 – Programming Fundamentals

Credits: 5

Instructor: Bill Newman

Office Hours: By appointment

Email: williamnewman@gmail.com

Class website: http://www.billnsara.com/prog/

The syllabus is a plan for the quarter and is subject to change at any time

Course Description: Introduces basic computing concepts such as Input-Processing-Output, control structures, arrays, procedural programming and object-oriented programming. You will learn the general principles of programming: how to design, implement, document and debug a computer program. The computer language that we will be using is C#.

Topics covered include: Input/Processing/Output, The .NET Integrated Development Environment (IDE), Algorithms & pseudo code, Controls: properties & methods, Naming conventions & comments, Creating variables and constants, assigning types and values, Variable Scope, Selection structures, Repetition structures, Arrays, Structured programming with subs and functions, Error handling, Object oriented programming

Competencies: After completing this class a student will be able to:

Prerequisites:

Required Materials:

  1. Textbooks: ‘Beginning Visual C# 2010’, Watson, (Wrox).  
  2. Internet Access: To participate in this class, Internet access and an e-mail account are advised. Instructions to create a free e-mail account are available, if needed.
  3. Software: Visual Studio .NET 2008 or C# Express 2008. (Get immediately!)
  4. Hardware: 1 thumb drive (any size). IMPORTANT – Please mark your thumb drive.

Grading (all approximate, and subject to change):

Assignments:  Assignments will usually consist of building programs in C# exhibiting specific requirements.  Occasionally you will adapt existing C# examples to achieve effects described on the homework page.  To get 100% on an assignment, the expectation is the assignment is functionally complete, accurate, and finished on time.  Pay attention to details of the assignment as described on the homework page, as points can be taken off for incorrect implementation.  

Online Tests/Pop Quizzes: Expect online web exams at weekly intervals. All tests (including the final) will be open book and available online.  When a test is posted, you will receive an email.  I'll answer questions about a test for 24 hours after the test is posted.  Test questions are multiple choice and derived from our book, class lectures, and specific internet resources. Please login and print the test and research answers.  Return to the class web site to take the test before the due date & time.  Failure to take a test by the due date will incur a zero score.  Pop quizzes are similar to online tests only they consist of a few questions of material covered on that day.  pop quizzes can be taken after class as well, but lose potential bonus points for getting 100% correct and finishing during class time!

Participation/Effort: I reserve 5% of your grade for your demonstrated participation or effort.  Please participate with pertinent questions & comments in class, helping others in class as appropriate and by emailing questions or concerns on a timely basis.

Reading/Study Materials: The relationship of the book and online class materials are chiefly an addendum to the class website.  For our purposes, the information on the class website will always take precedence over the book or internet material.  The class book is somewhere to go for more info, a place to study away from the computer and a place from which to draw tests.  We may skip around in the book, and ignore many sections entirely.  Feel free to pursue those areas at your convenience.

Student Needs: If you need accommodations due to a disability or any other reason, please contact me by email or otherwise, as soon as possible.  Every effort will be made to meet your needs.  Also let me know of emergency medical information or if you need special arrangements in case the building must be evacuated, etc.

Role of The Instructor

As your instructor, I make every effort to facilitate your education and help with strategies, materials and requirements.  However you are responsible for your education, and I recommend speaking up early and often if you have questions or concerns.  Open communication is important if we are to succeed!

Assignment Questions: I will respond to questions about any assignment up until the afternoon before it is due, if available, via email.  Answering questions and helping with troubleshooting are my highest priorities.

Assignment Assistance/Troubleshooting:  If you need help with an assignment, please bring your program to class.  Start working on assignments early, so you can determine what problems may be encountered.

Grading Assignments: To get 100% on an assignment, the expectation is the assignment is functionally complete, accurate, and finished on time.  I reserve the right to take points off for any late or incomplete assignment. I attempt to grade assignments within a week after the due date.  I will notify you via email when an assignment has been graded.  Please respond promptly when work has been overlooked, graded improperly, etc.

Re-Grading: As a courtesy, I usually allow ONE repeat attempt (re-grade) per assignment.  Re-grading is time consuming, therefore re-grade requests receive the lowest priority when I respond to email.  Re-grades may incur a lower grade due to being completed late. To avoid delays and lower grades, get your assignments done on time and per all requirements on the homework page.

Class Recordings: As a courtesy, I attempt to record all lectures, and post them to the class website within 48 hours.  If you would like a specific lecture posted more promptly, for example, if you will be out of town, notify me by email in advance.

Attendance: Attendance is not mandatory, but concerted effort is.  You may elect to miss any class without penalty, but all assignments & tests are to be completed on time.  For many people it is more difficult to skip a class, as you may spend more time and effort keeping up.  If you are struggling in class, I recommend spending time on the material daily, regular class attendance, preparation of good questions and maximizing the provided lab time. 

Follow the homework requirements accurately and completely.  Ask questions of the assignments and tests within 24 hours of being posted.  If you are unsure of what is required and you decide to proceed, any negative impact on your grade will stand.

Improving Your Grade: Want to improve your grade?  Email for possible extra credit work.

Role of The Student

As a student, you are responsible for your education and for speaking up when you are in need. If you have a question, please email me, as soon as possible.  If you are having trouble in class, be sure to stay for the full length of the lab times that will be available.  Many folks leave early giving lots of time for those who are patient.  If you are attending lab and still need help outside of class become familiar with our tutoring center.

Working Assignments: When working on the assignments start early and study the homework page to be sure you have all important details correct.  If you have questions, ask them during class time.  If you are working at home and run into an error you can't resolve, document the problem and send me an email.  Include a copy of relevant code as an attached document so I can take a look.  Don't wait until class time to troubleshoot if class is three or more days away!

Taking Tests: Tests are based primarily on our class website, provided handouts, recorded daily lectures and finally the class book, unless otherwise stated.  This means to be best able to take a test you should be familiar with all the materials, and have listened to all the lectures. The context of the test is usually from the point of view of a beginning to junior programmer and does not ascribe to being absolute or even entirely correct.  These are tests of class materials, not absolute truths.

Some of the tests & assignments will be easier if you try code samples to see what happens.  Don't guess, test instead!

Test questions or answers will not be addressed during class time, only via email inquiry.

Dropping Class/Incompletes: Classes are usually very full, so if you need to drop this class please email me as soon as possible.  If you are having trouble and wish to continue with the class please be advised of my incomplete policy.  Incompletes are for students who are nearly done with all assignment work as we reach the end of the quarter. Test scores will stand, regardless.  If you are nearly done with your assignment work at the end of the quarter and wish to pursue an incomplete, contact me as soon as possible via email with your circumstances so we can talk about it.  You may also wish to make an appointment with workforce training or the school counselor as incompletes and dropped classes can effect your funding.  If all systems are go (and your request for an incomplete gets approved) you will be required to get an incomplete form from the IT office and fill out your portion.  Leave the form for me and email that the form is ready for me to fill out.  I'll then fill out my part of the form and let you know what to do next.  I'll give you 60 days from the end of the quarter to finish your work, maximum.  Get the work done during the quarter, if at all possible.

Student Strategies for Success

Programming Takes Time: This is a programming class, and it requires special attention to succeed.  Expect this class to require 10-15 hours, per week of work outside of class, later in the quarter. Students can elect to use open labs on campus or other resources in order to complete their computer work.

Get A Jump On The Class: Those who succeed most easily start early, work every day, and therefore have the time to stop when they are tired.  When you run into a big problem, document it, and then push away from the computer for a break.  'Cramming' code leads to excessive errors, frustration and more time spent!  Programming requires precision, and continuing to work when you are tired or off track can compound errors.

Keep Up With The Material: Read ahead, do the exercises in the book & in class by hand, and start your assignments early.  These assignments require troubleshooting and patience.  If you get a jump on the homework, you can come to class prepared to ask questions before the assignments are due.

Try Examples/Type Code: 90% of the population are kinesthetic learners, meaning they learn by doing, instead of reading, listening or watching.  While programming, many people find typing out and testing lots of examples help abstract programming material to sink in.  Give it a try!

Pay Close Attention: Be aware of any changes by attending class and viewing the class website frequently, especially the homework page.  Pay close attention to the details for each assignment.  Email if you have questions about the assignment right away.  Points can be taken off, and work can be done on the wrong things if this is not given proper attention.

Participate: Maximize the provided lab time, and prepare good questions for class.  Everyone benefits from good questions and suggestions.  No one one knows everything, and there are many ways things can be done.  Be an active participant in our education! 

Assistance/Tutoring: If you are having trouble in this class, you are expected to stay to the end of each class.  We have lab time and if you are behind or having trouble you need to stay for the full class as we have lab nearly every day. Getting assistance is immediate in person and difficult otherwise.  Before you ask for assistance outside of the class (tutoring, etc.) you must be using all of your available resources.

Help Others/Work With Others: Good employees help those around them, and are not afraid to ask for help.  Work with others, and pay attention to the questions (and solutions) of those around you.  Students are encouraged to work and problem-solve together but MUST turn in their own work. Students found cheating will receive no credit and will be subject to college disciplinary action, as well. For more information, refer to your Academic Dishonesty policy in the college catalog or student handbook.

SCCCollege Polices: http://seattlecentral.edu/stu-lead/StudentHandbook.pdf