CS110 Syllabus
CS 110 - Programming and Problem Solving
An introduction to problem-solving techniques, the fundamental concepts of programming, and the software design process.
Topics will include: data types, control structures, scope rules, functions, files, and the mechanics of running, testing and debugging.
Problems will be drawn from various science disciplines.
*** Prerequisite: Mathematics B30 and C30 ***

Note: CS majors who have mastered the course material in CS 110 through other means are eligible to write the CS 110 bypass exam.

Table of Contents

Class Instructor

Dr. Brien Maguire

Office: College West 308.5
Office Hours: WF 11:30pm to 2:30pm
Phone: (306)585-5654
e-mail: maguirer@uregina.ca

Contact Information: 
If you need help outside of class, my office hours are in College West 308.5. Six hours of contact time each week will probably be enough for the course material. If not or if email is more convenient, I try to be quick about responding to e-mail questions.

The lab instructors also have office hours, held in CL119. You can talk to any of the lab instructors. Do not worry about finding the lab instructor from your lab section. Thus, there are many hours each week when you can talk face-to-face to someone about the course material. Click here for the schedule.

My office hours won't fit everyone's schedule so please make an appointment whenever necessary. To make an appointment, e-mail me or phone me at (306)585-5654.

Use your University of Regina account to send me e-mail. With all of the spam, worms, viruses and Trojan Horses being delivered via e-mail these days, my university e-mail is filtered by several layers of virus protection software. Consequently, e-mail from services such as Hotmail or Yahoo almost never reaches me. Check your University mail regularly as this is the mechanism we will use if course related information needs to be distributed during the semester.

When asking a question by e-mail regarding a web page, please provide the URL of the page if it is posted or include the file as an attachment if it is still under development.

 

Top of document


Student Accessibility

The University's services for students with special needs are described in the Student Services section of the University Calendar and on the University's Web site at http://www.uregina.ca/studserv/disability/index.shtml.

Top of document


Text

Introduction to Programming with C++ by Y. Daniel Liang

The publisher provides additional material at the Companion Website (use the link just above), including quiz questions for each chapter. Use these after studying to verify that you are able to recall the textbook material.

Top of document


Mark Distribution

Labs and Lab Test 10%
Assignments (5 of them) 20%
Midterm #1 10% Coverage: everything covered prior to break
Date: Monday February 24
Format: one programming question
This is an open book exam. You can bring either the textbook or a C++ reference book.
This WILL NOT be the case for the other exams.
Midterm #2 10% Coverage: everything covered prior to March 24
Date: Monday March 24
Format: multiple choice question and programming questions
Final Exam 50% TUESDAY, April 29, 9:00am-noon, location TBA
Format: multiple choice questions and programming questions
Common exam with CS110-002 which explains why it is on a Tuesday

The grades are not adjusted to fit a Bell curve. I admit that I always look for students who submitted all the work but struggled and didn't pass the class so I can give them the time-honoured "mercy pass of 50%." However, I don't consider that to be appropriate in the case of students who tossed away marks by not submitting material.

There will be no make-up for missing a midterm exam. If you provide have a legitimate and documented reason in advance for missing the midterm, the midterm portion of the final grade will be added to the weight of the final examination.

If you are unable to write the final exam, for a legitimate and documented reason, you must contact your faculty office (the faculty in which you are registered e.g. Arts if you are majoring in Psychology) and request a deferred exam.

Top of document


Using other reference material:
You may wish to acquire additional material on the software used in the class. There are tutorials on programming in C++ all over the Web. If you feel you need a reference and cannot find something in a local bookstore, an on-line bookstore should be able to deliver something in a few days. A very valuable resource is the access to on-line computer books at the E-Books web site that is provided by the Library. If you need further assistance with understanding how to access this resource, drop by the Main Library and contact the reference resource staff.

Note that the midterms and the final exam are closed book. No reference material is allowed. No electronic aids are allowed at these exams. Bring your student id.

Top of document


Software Notes

We are using a Windows 7 platform in the  Classroom 135.4 computer lab.

Top of document


Assignments

There are five assignments in CS110.

Assignments are uploaded using UR Courses. Typically you will need to upload your source file (i.e. your program code) and evidence that the program ran properly. That evidence may be a script file or a screen capture image depending on the means you use to compile and run your programs.

Keep copies of the work you do. We are not dealing with large files so a couple of inexpensive USB/Flash/thumb drives will do the job. Buy more than two if you plan to lose or misplace more than one during the semester.

Start your assignment work early. If extraordinary circumstances are going to cause you to be late for an assignment, you must contact me or your lab instructor in advance and may be asked to show your assignment work completed to that point. Extensions will not be granted because you ran out of time to finish an assignment.

Top of document


Lab Operation

The scheduled weekly lab time for which you registered provides an opportunity to try to course material and ask questions in a setting that you may find more comfortable than the classroom. You will be expected to work on exercises designed to move through the course material. The lab seminar material is all on-line. Review this material prior to the labs so that you come to the labs ready to ask questions about anything that gives you trouble.

Top of document


Lab Test

The lab test is held in the last lab session of the semester. Details on coverage will be provided by your lab instructor.

Top of document


Lab Sessions

Check the lab schedule in advance to see what is being covered. Note the lab test in the last session.

In case we are being too subtle with this message, ASK QUESTIONS. Questions are welcome in the classroom but when asking questions about how to get a program to work properly, it helps to have a computer in front of you.

Top of document


Office Hours

There are numerous scheduled office hours by lab instructors and Dr. Maguire. Lab instructor office times are posted on the door of CL119 and on the CS110 web site. Extensive office hours are intended to provide lots of individual time and attention. As one hears all the time, "there are no stupid questions." That comment has probably been made in every class you have ever taken. The point is that everyone involved with the class wants you to succeed. We also understand that using a computer or an application package can be frustrating. We've all been there. So, come and see us.

Top of document


Start-up Problems

CS110 requires considerable time and effort to learn how to write software. Ask lots of questions about the material. Make good use of the on-line support materials. You can work in CL135.4 any time that the room is not booked (see the schedule on the door). Be sure to attend the labs. Take advantage of the fact that they are posted to go through the material ahead of time. I cover the material during classes in advance of the labs with the idea that the lab session become an opportunity to be sure that you understand the material.

Top of document


Doing Work Together

Study groups are highly effective. Forty plus years of research has repeatedly demonstrated that working together to learn new material results in higher grades. I urge you to form a study group whom you consult as you go through the semester. You must do your own assignment work!!! The study group is for help and advice. For example, when debugging a program to find a logic error, having someone in your group check what you are doing will certainly reduce the time required to find the error. But, the assignment itself, you must create your own solution.

Top of document


Plagiarism (and any academic misconduct):

You are expected to be familiar with the University's regulations regarding plagiarism and the procedures and consequences of all forms of academic misconduct. These are described in the University General Calendar. Section 5.13.2.3 of the 2012-2013 Undergraduate Calendar is quoted below. Note that there is no discretion permitted in the University's procedure for academic misconduct. These regulations require that all incidents be reported.

5.13.2.3 Procedure

Any academic or administrative member or official of the University who has reason to believe that academic misconduct has occurred shall immediately notify the relevant Dean, or his or her designate (the "Investigating Dean"). Where the academic misconduct occurs in connection with a particular course, the Dean or designate of the faculty offering the course shall be the Investigating Dean. For all other acts of academic misconduct, the Dean or designate of the student's faculty or college shall be the Investigating Dean.

Upon receiving notification, the Investigating Dean shall investigate the alleged academic misconduct immediately, which process will include offering an opportunity for the student to explain the incident, and conducting any further investigation deemed necessary to ensure procedural fairness. Upon receiving notification, the Investigating Dean will also immediately notify the University Secretary of the alleged misconduct. If the Investigating Dean is not the Dean of the student's faculty, the Investigating Dean will also notify the Dean of the student's faculty of the alleged misconduct. If the academic misconduct has been established, the Investigating Dean may take the appropriate academic action, and impose the appropriate penalty with respect to that course.

The Investigating Dean will make the disciplinary decision on the academic misconduct and will advise the student of the disciplinary decision in writing. A copy of the disciplinary decision will be provided to the University Secretary, the student's faculty, and the Registrar's Office.

Where a student commits academic misconduct in two or more courses in the same semester or there is a record of previous misconduct, the Dean or designate of the student's faculty may assign a penalty additional to these assigned by the Investigating Dean (see Section 5.13.5)

Top of document


Course Learning Objectives

Objectives

As part of this course, students

Outcomes

Upon successful completion of this course, students will be able to

Top of document


Course Outline

Part I Fundamentals of Programming
   We will follow the order of the material in the text with slight deviations.
Chapter 1 Introduction to Computers, Programming, and C++
   History of computers, programming languages, Internet, Web
   Interpretation vs. compiling
   Fundamental Programming Concepts: Syntax and semantics, variables, expressions, assignments, selections, loops, functions
Chapter 2 Elementary Programming
   Algorithms and Design: Design strategies for solving problems using algorithms
Chapter 3 Selections
Chapter 4 Mathematical Functions, Characters, and Strings
Chapter 5 Loops
Chapter 6 Functions
   Development Methods: Stepwise development using functions
Chapter 7 Single-Dimensional Arrays and C-Strings
   Fundamental Data Structures and Algorithms: Linear search, binary search, selection sort

Top of document


Background

CS110 has been around the University since the 1960s. Numerous programming languages have been used over the decades. In the very early days, programs were punched on to computer cards by keypunch operators working from sheets on which one printed the program code. I have a copy of a memo from this period in which the Assistant Director of the Computer Centre is advising the Director not to create a keypunch facility for student use because "students could not be expected to type." Keypunches and card decks gave way to on-line systems which required pounding (almost literally) on the keyboards of teletypes that could print an amazingly slow 10 characters per second. Never mind that on very low humidity days, the static was so bad that a student bumping a metal chair leg against a teletype base could shut the whole system down with everyone losing their work. So, as you are faced with making a decision as to which editor and compiler you are going to use this semester, think of your predecessors who sometimes had to spend the night on-campus in order to finally get a chance at a keypunch or teletype.

Top of document


Software Issues

The in-lab work requires you to use the software provided in the lab. Outside of that context, you need an editor to create the C++ files. These are simply text files so there are numerous choices available for an editor. In addition, you need to compile and run the programs. The first lab will explain some of the options.

Top of document


Time Requirements

We cannot tell you how much time it will take an individual to stay current with the class coverage because the variance is extreme. We know that about 5-7 hours of work on CS110 each week should allow you to become familiar with the software and successfully handle the practice and assignment work. However, some people require more time while others require less. A lot depends on your background and on whether you enjoy the work. For your own sake, start early.

Top of document


Purchasing Software

Microsoft offers Visual Studio to students for free. Apple offers Xcode for free to Mac users. Text editors are bundled with Windows, Mac OS and Unix. Screen capture is built into Windows and the Mac OS. There really is no reason or need to purchase any software for CS110.

Top of document

Style sheet source