CSC 10 Introduction to Programming Logic Fall 2009

Instructor: Prof. M J Lee Riverside5042 Phone: 278-5490 email:

Office hours: Monday and Thursday 9 – 9:50 am; Wednesday 2 – 2:50pm and by appointment

Lecture: Riverside 1008 T & Th 10:40 - 11:30 am

Laboratory: Riverside 1013 T or Th 11:40 am - 1:20 pm

Catalog Course Description: Introduction to computer science with an emphasis on programming concepts and methodology. Intended to assist students with little or no programming experience to understand the basic principles of programming logic. Topics include computer hardware and software, problem solving and algorithm development, flow of control, modular design using techniques that can be applied to common programming languages. Lecture/discussion, 50 minutes, technical activity/laboratory, 1 hour & 40 minutes.Prerequisite: Math 11 or equivalent. 3 units.

We will be using Visual Logic to demonstrate these design techniques.

Textbook: Prelude to Programming Concepts & Design, 4th Ed. Stewart Venit and

Elizabeth Drake, Pearson Education of Addison-Wesley, 2009.

Software: Visual Logic by Vanguard Computer Systems

Lab Activity Manual:In-lab activities for 10 using Visual Logic Meyers and Stephenson

The primary textbook and the software can be purchased at the CSUS Bookstore. The Visual Logic software, we will be using this semester during our in-lab sessions, is already installed on the lab machines in the Engineering and Computer Science (ECS) labs.

The lab activity manual is not available at the bookstore. It will be on SacCt by the beginning of week 2.

Supplies: You will need a thumb drive to start the semester. You must back up all your assignments. If you will be using a computer away from school and wish to be able to do the Visual Logic assignments on that computer, you will need to purchase from the bookstore the license to install Visual Logic on that computer. You can also access the campus computers from home by accessing kronos, an ECS server More on this later.

Use of Computer Labs: The ECS open lab is in Santa Clara (SCL) 1234. No classes are scheduled in that lab. Other labs may be available for your use outside of your scheduled lab times. Use your lab time wisely. Many of our labs are heavily scheduled and full. Occasionally there are open seats in scheduled labs. Some instructors will permit students not enrolled in their labs to use the vacant seats, but you must ask permission first. You will often be asked not to use the printer.

E-mail Account: Every student will be required to have an electronic mail (e-mail) account. If you have an account through a commercial provider, that will satisfy the requirement. If you do not have such an account (or even if you do), you can obtain one (free) from CSUS. All registered students are entitled to a SacLink account, which will provide you with e-mail capability.

If you prefer, you are also entitled (as an Engineering or Computer Science student) to an account on one of the ECS (Engineering and Computer Science) computers. This account will have your name as the account name (or something close to that, if there are duplicates). However, an ECS account does not provide dial-up access. (You can use your SacLink dial-up access to reach the ECS account, though.)

SacCt: Class materials and In-lab activities will be updated and eventually available on SacCt.
Participation: You will be expected to think rather than learn by rote. I will attempt to stimulate thought, but I can't think for you. My job is not to give you answers -- it is to help you discover answers for yourself. Be inquisitive, ask questions (there are no "dumb" questions, only dumb silences), keep up with the course material on a regular basis, and make an effort to understand the issues. Be an active participant in the learning process.

Attendance at discussion/lecture: During ADD/DROP period (first two weeks of school), any student who misses two consecutive class periods may be dropped from my rolls (but it's still your responsibility to officially drop). It is important that you attend all classes and that you submit your work on time. Attendance may be taken. There will be frequent quizzes (see pop quizzes section below.) Each student is responsible for material presented and announcements made in class. Exams will definitely include information presented in class, which is not available from the text. If you must miss a class, please make the effort to obtain notes and announcements from a classmate. If you have any problem understanding the information you receive in such circumstances, please come to my office hours so that I can help to clear up the problems. If my office hours are not convenient for you, I will be happy to schedule an appointment at any other mutually suitable time.

Attendance at activity sessions in laboratory: You are expected to be present for the activity session. There will be individual lab activities, including problem solving using Visual Logic . A portion of your grade is based on your participation in these activities. Normally, you must show your work to me before leaving the lab. All lab activities must be completed before the end of the lab period.

Course Objectives: Successful students will demonstrate ability to:

  • Read and analyze problem descriptions
  • Analyze the input and output needs for a specified problem
  • Develop or choose appropriate algorithms for solving problems
  • Design algorithms using the control structures of structured programming
  • Represent algorithms using an approach acceptable in the modern software development industry
  • Simulate the execution of algorithms using a systematic desk-checking approach
  • Describe the relationship between simulated execution of algorithms (desk-checking) and the actual computer execution of programs that implement those algorithms
  • Develop a modular design for a software implementation to solve a problem
  • Describe several approaches for communication of data within a modular software design
  • Translate an algorithm into an executing program in a modern
  • programming language

Retaking CSc 10: Read carefully!

The Computer Science Department has a policy whereby students will be allowed to take any CSc course a maximum of two times. Any student who fails to receive a passing grade after two attempts will not be permitted to retake the course without special authorization from the chair of the Computer Science Department. (Authorized withdrawal -- a grade of “W” -- does not count as an attempt.) If you have already taken CSc 10 twice previously, it is your responsibility to alert your instructor to that fact. Otherwise, you will be dropped from the course!

Exams: There will be two midterm examinations and one final examination during the semester. The dates for the midterm exams are in the SCHEDULE portion of this handout. The University determines final exam schedules. There will be no make-up exams except in cases where prior arrangements have been made (prior to the scheduled exam date), and even then only with a letter from your doctor or employer or some similar evidence of overwhelming need to miss the exam.Exams are closed book, closed notes unless you are told otherwise.

Unless otherwise specified during class, you may be tested on any information presented in the reading assignments in the main textbook and in the supplementary textbook sections covered during the Activity periods. Additionally, you may be tested on any material covered in class.

Quizzes: The quizzes in this class will be taken from lecture, from textbook readings, and from the assignments. These quizzes will be short, usually consisting of a few questions. If you are present for a quiz, you will always get at least one point for just putting your name on the page, so you are always better off to be present for a quiz, even if you don't know the material.

With the exception of week one, you are expected to have already completed the assigned reading for any given week on the first class day of that week, and material from that assigned reading will be included in the quizzes. Quizzes are closed book, closed notes unless you are told otherwise.

Cheating: The University Policy on Academic Dishonesty is posted at

It should be considered as a part of this syllabus, and you are expected to read it carefully and abide by it.

Unless otherwise instructed (as, for example, team projects), all assignments, quizzes, and exams are to be entirely your own work. Any cheating will be dealt with immediately and vigorously.

Be aware that discussion among students as to the general logic to solve a problem is not only allowed, but also encouraged. Likewise, I have no problem with students occasionally helping other students to find a particularly troublesome error in design or code. However, the design of an algorithm, and the coding of a program that implements that algorithm, must be the work of the student whose name appears on it. Giving help beyond the general (i.e., writing the pseudocode or code) for another student is cheating, just as surely as receiving that aid is cheating.

Protecting Your Work: Do not leave your program listings or pseudocodewhere they can be seen or taken by other people. Throw away old work at home. Do not give your system account password to anyone under any circumstances! Do not destroy any file associated with an assignment until the graded assignment has been returned to you. Keep all old assignments until your final grade has been assigned. Don’t forget to retrieve your thumb drive when you leave a lab.
Assignments: The Lecture/Discussion assignment will require algorithms, represented in pseudocode and, later in the semester, structure charts, along with desk checks of the algorithms. Activity/Lab assignments will require completed Visual Logic Flow Charts and Output.

Timeliness of assignments is critical. The importance of timeliness will be reflected in severe grade penalties. I certainly will try to help you if unforeseen circumstances keep you away from class, but you must understand that, you must be willing to commit yourself seriously to this class both by participating and by working on it on a regular basis. The benefits you get from this class will be in direct proportion to the quality of your effort.

In-lab Activities: There will be various activities throughout the semester. These may involve problem-solving activities, algorithm and program development, and who-knows-what else. In all cases, the activities will be completed during the lab/activity period. There is a special grading category for these activities. You cannot receive in-Lab activity points unless you are present at the lab session.

Due Dates for Activity/Lab Assignments:No later than the end of the laboratory period. .Note: If you complete a lab/activity during the lab period, please show your completed work to me at that time, rather than waiting to turn it in at the due date. This is the best way to get immediate feedback.

Due Dates for Lecture/Discussion Assignments: Any assignment not handed in by 5 pm on the announced due date will be penalized as follows:

10% off if submitted by 5 pm the next day (1 day after due date)

20% off if submitted after 5 pm next day until 5 pm one week after due date.

No credit if submitted after 5 pm one week after due date.

If you think your assignment is nearly correct at the due date and time, hand in the assignment as is. In any case, hand in whatever you have done by the beginning of the Lecture/Discussion period one week after the due date, since you will receive no credit after that time. (You may hand in late assignments at the CSC department office if you wish, but the deadlines explained above still hold - an assignment handed in at the CSC department office after 5 pm is just as late. When you turn in an assignment at the department office, you must be sure that my name appears on the front of the assignment, and you must have the secretary time-stamp the assignment.Under no circumstances should any assignment be placed under my office door, although you may certainly turn in assignments directly to me when I am in my office or an Activity/Lab period. If you choose to ignore this advice and place an assignment under my office door, it will be considered to be "in" when I pick it up, which could easily be several days later than when you placed it there!)

Workload for CSc10: Please be advised that there is quite a bit of work in this class. There will be work during the scheduled activity/laboratory session every week. However, there will be activity/lab work and additional programming assignments, which cannot be finished during the scheduled activity/laboratory periods. Work done during the technical activity period is NOT considered "homework" - that is, there will be a "normal" load of work outside of activity period and lecture/discussion period -- the expected outside work is two hours outside for every hour in lecture/discussion.

Design Before Using Visual Logic: During the activity/laboratory session, or during office hours, I will be happy to assist you in your design and translating that design into visual logic, but in that order only. If you are having a problem, I will first look at your pseudocode to see if the problem is in your algorithm. If it is determined that the algorithm is correct, I may then help with the problems which are preventing you from implementing your algorithm in Visual Logic.

Grading Policy: The following grading policies will be followed in this class.

Within the important constraints listed in following paragraphs, the overall grade in this course will be based on these criteria:

92% - 100% A 88% - 89% B+78% - 79% C+68% - 69% D+
90% - 91% A- 82% - 87% B 72% - 77% C62% – 67% D
80% - 81% B-70% - 71% C-60% - 61% D-
0% - 59% F

If it is advantageous to the majority of students, a curve may be used in place of the straight numeric grading. If so, the median score will be a middle C.

However, there are other critical considerations, which you must understand.

1) In order to receive a grade of C- or higher, you must have an average grade of 70% for the lecture and laboratory assignments, and you must have an average grade of 70% for the combined exams/quizzes. Those are threshold scores - if either of those averages is below 70%, you will not receive a grade above D+, no matter what the total percentage turns out to be.

2) Assuming you have met the 70% threshold for lab assignments and for exams, your total percentage will be based on the following weighting factors:

Midterm One: 20%
Midterm Two:20%
Final Exam:25%
Lecture/Discussion Assignments:20%

In LabActivity Assignments: 10%

Quizzes (regular and pop quizzes)5%

Discrepancies in grade recording: It will be the responsibility of each student to keep track of his/her points on all quizzes, assignments, etc. I will provide a tally prior to the end of the semester. If there is any discrepancy, you should bring it to my attention immediately. For this reason, it is also strongly advised that you retain all graded work, which has been returned to you, as proof in case of discrepancies.

Incompletes: Incompletes will be given only to students who have a passing grade at the time that an overwhelming and uncontrollable problem, which is entirely out of their control, causes them to discontinue the course. Computer Science department policy governs the assigning of "I" grades, and they are not given lightly. I will follow department policy to the letter. Please do not ask me to do otherwise.

Drops: This class will follow department policies regarding drops. After the sixth week, no drops will be permitted except for serious and compelling non-academic reasons.

Grade replacement: If you are re-taking this course to replace a grade, you must file a petition. There are published University rules for grade replacement. Those rules are available from the CSc department office.

1