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.
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.
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.
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.
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.
Using other reference material: 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. We are using a Windows 7 platform in the Classroom 135.4 computer lab.
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.
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. The lab test is held in the last lab session of the semester. Details on coverage will
be provided by your lab instructor. 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. 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. 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. 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. 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
Part I Fundamentals of Programming 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. 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. 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. 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.
Text
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
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.
Software Notes
Assignments
Lab Operation
Lab Test
Lab Sessions
Office Hours
Start-up Problems
Doing Work Together
Plagiarism (and any academic misconduct):
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)
Course Learning Objectives
Objectives
As part of this course, students
Outcomes
Upon successful completion of this course, students will be able to
Course Outline
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
Background
Software Issues
Time Requirements
Purchasing Software