University of Saskatchewan Department of Computer Science

Welcome to the Department of Computer Science

Courses >
Printer

CMPT 116 - Computing I (for Engineers)

Note that the information presented here does not necessarily reflect the most up to date syllabus or course information. Rather this information is intended to provide a general overview of course content from previous offerings.

Course Description

CMPT 116 is an introductory Computer Science programming course intended for students majoring in Engineering. The purpose of the course is to introduce Engineering students to programming and related computing concepts such as data types, control structures, functions, libraries, simple data structures, recursion, arrays, and numerical analysis. The emphasis is on problem solving, algorithms, and programming concepts, with significant practical work. At the completion of the course, students will be able to use a computer to assist them in solving problems and produce associated documentation.

C++ is the language used throughout the course since it is particularly relevant to engineering applications. However, CMPT 116 is not a course for learning the C++ programming language per se; rather, it is meant to introduce basic programming concepts that form the foundation for more general problem solving and computation skills (using almost any programming language). Only those language constructs that are needed to present particular computer science and programming concepts are introduced.

Microsoft Visual C++ is the programming platform used for this course.

Offering

The details of the current course offering can be found here...

Lectures

Lectures are intended to explain, elaborate, and expand upon topics relating to the fundamentals of computer programming and Computer Science. Students are expected to have read the relevant sections in the textbook prior to attending the class in which they are discussed, and to be responsible for learning all of the material presented in lectures (including the material unique to lectures which are not directly addressed in the textbook).

Section
Weekday
Starts
Ends
Location
01
M W F
12:30 PM
1:20 PM
1B71 Engineering

Lab Sections

Scheduled labs will take place every week. During these periods, there will be a CMPT 116 lab advisor in the lab. Lab advisors will guide you in your use of Visual C++. They will assist with student programming and problem-solving as it relates to textbook exercises, lab problems, and assignments. Students registered in the lab will have priority for lab seats during scheduled lab periods.

In these labs, students will be given problems to solve and may receive some relevant instruction from a lab advisor. As with lectures, students are expected to read the relevant material in the textbook prior to scheduled lab times.

Section
Week Day
Starts
Ends
Location
Lab
L01
Tuesday
08:30 AM
09:50 AM
2B04 Engineering
Delta
L03
Tuesday
01:00 PM
02:20 PM
2B04 Engineering
Delta
L05
Thursday
11:30 AM
12:50 PM
2B04 Engineering
Delta
L07
Thursday
01:00 PM
02:20 PM
2B04 Engineering
Delta

Instructor

David Bockingbocking@cs.usask.ca

Office hours: after class or by appointment.

Textbook

Gary J. Bronson, Program Development and Design Using C++, Third Edition, Course Technology, 2006,ISBN 0-619-21677-8

Midterm Examination

27 October, 2010 (This exam will be written in class)

Final Exam Date

TBD

Hands-on Learning Experience

Computer Science is a “participation sport”, just like swimming! Just as you cannot reasonably expect to learn to swim without getting in the pool, neither can you reasonably expect to succeed in Computer Science without writing programs.

The more you practice, the better you can swim; the more you practice, the better you can program.

Indeed, in this course, you are encouraged to program, to program a lot and to use a variety of tools and software in doing that.

Assignments and Lab Problems to be Submitted for Marking

Throughout the term students will be required to complete a set of assignments and a set of lab problems for evaluation purposes. Students must complete lab problems and assignments in order to pass the course.

Assignments and lab problems are to be completed on an individual basis (rather than working together with a group of other students). It is expected that all student work presented for grading in this course will be the original work of the submitting student -- The College of Engineering and College of Arts and Science have strong policies to encourage an academically honest environment and this course expects students to be familiar with and to adhere to these policies.

Late submissions of assignments and lab problems will not be accepted for credit.

This is due to the size of the class and the number of assignments. We cannot accommodate all situations. As well, we cannot allow late submissions, as solutions to assignments will be posted shortly after due dates. Assignments may be waived for legitimate medical reasons with accompanying documentation according to University policy.

If you are not able to finish a required assignment by the time it is due, submit what you have done and hope for the best - you most likely will receive partial marks for the work you have completed. If you have a serious problem, please talk to your instructor.

Textbook Laboratory Exercises

Scattered throughout each chapter in the textbook are hands-on lab exercises that provide additional opportunities for students to practice the concepts being introduced. It is advised that you keep current with these exercises and attempt to solve as many as you can on the computer. Note that the term will progress quickly and many of the concepts covered in earlier chapters will be the building blocks for material covered later in the term, so it is very important that you do not fall behind with your work.

Course Facilities

The Engineering undergraduate computer labs are the designated facilities for your CMPT 116 programming laboratories; these are the labs in which laboratory assistants familiar with the course material will be working. However, students may use any computer that has the suitable software installed on it.

Students in CMPT 116 do have access to the Computer Science laboratories located on the third floor of the Spinks Addition to the Thorvaldson Building. These provide a wide variety of software platforms for software development.

Students are encouraged to explore software development in other laboratories to which they may have access, especially if doing so allows them to try out other computer platforms like Linux and Mac OSX. As well, other laboratories may support different C++ programming toolsets such as Eclipse, Xcode and Netbeans. Exposure to these other programming tools and computer platforms is very beneficial to students as it prepares them for the wide variety of toolsets they can expect to encounter during their careers.

On-Line Course Material

The course will make use of a web-based instructional support system, called Moodle, to provide on-line web access to course material. Login with your NSID and password at the Computer Science Moodle server:

http://moodle.cs.usask.ca/

Course Home Page

The course home page may be found here on the Computer Science Moodle server.

Learning Community

Connected with the course are discussion forums which students can use to share with others their discoveries and approaches to problem solution. Active and constructive contribution to discussion forums will count towards class participation marks.

Electronic Assignment Submission

Lab work and course assignments will be required to be handed in electronically through "Assignment" activities on the Computer Science Moodle system. Each assignment will appear as an activity in one of the weeks of the course. Assignments can be handed in there.

Student Use of Departmental Software Subscriptions

Note: the Department of Computer Science has an agreement with Microsoft, the MSDN Academic Alliance, and by taking any CMPT or BINFO course, you are entitled to download and freely use Visual Studio on your home computer (see the MSDN Academic Alliance webpage for more information).

Students interested in Linux may take advantage of the Computer Science Department's subscription to Mandriva Linux. For more details on both of these programs, see:

distro.usask.ca

Backups

Backing up your work- Please be advised that it is critical for you to maintain regular back-ups of your work on a remote server or alternate storage device.