CMPT 116 - Computing I (for Engineers)Course DescriptionCMPT 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. OfferingThe details of the current course offering can be found here... LecturesLectures 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).
Lab SectionsScheduled 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.
InstructorDavid Bockingbocking@cs.usask.ca Office hours: after class or by appointment. TextbookGary J. Bronson, Program Development and Design Using C++, Third Edition, Course Technology, 2006,ISBN 0-619-21677-8 Midterm Examination27 October, 2010 (This exam will be written in class) Final Exam DateTBD Hands-on Learning ExperienceComputer 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 MarkingThroughout 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 ExercisesScattered 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 FacilitiesThe 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 MaterialThe 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: Course Home PageThe course home page may be found here on the Computer Science Moodle server.
Learning CommunityConnected 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 SubmissionLab 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 SubscriptionsNote: 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: BackupsBacking 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. |
||||||||||||||||||||||||||||||||||||||||
| |