680 likes | 869 Views
CMPT 102 Introduction to Scientific Computer Programming. Course Organization. CMPT 102: Introduction to Scientific Computer Programming. Monday, Wednesday, Friday 9:30-10:20 Textbook: C Program Design for Engineers Authors: Jeri R. Hanly, Elliot B. Koffman Additional References:
E N D
CMPT 102Introduction to Scientific Computer Programming Course Organization
CMPT 102: Introduction to Scientific Computer Programming • Monday, Wednesday, Friday 9:30-10:20 • Textbook: • C Program Design for Engineers Authors: Jeri R. Hanly, Elliot B. Koffman • Additional References: • Engineering Problem Solving with C, 3rd edition Author: Delores M. Etter • The C Programming Language Authors: B. W. Kernighan, D. M. Ritchie
Class web-site • All the information discussed today and more can always be found on the class web-site • To find the class web site go to http://www.cs.sfu.ca/CourseCentral • Select Course Home pages • Select the Homepage for CMPT 102 • Course Central is also a useful link to abundant information useful to students taking a computing science course
Course selection page Click here to go to CMPT102 website
Evaluation • Assignments: 30% • Weekly Quizzes: 15% • No quiz in week of midterm, week of Thanksgiving or week of Remembrance day • Lab Problems: 5% • Practice Problems: no credit • Midterm Examination: 15% • Final Examination: 35%
Assignments • Four assignments • Each assignment worth 7.5% of your course grade • Assignments are to be completed individually • Problems similar to the assignments will appear on the midterm and the final. • Help is available during weekly lab hours • Complete solutions will be posted
Lab Problems • Four short lab problems • Each lab problem is worth 1.25% of your final grade • Practice Problems: no credit BUT valuable experience that will be useful when completing lab problems and assignments • There are no Labs in the first week of classes (Sept. 5-8) • Lab hours are not held on statutory holidays (Thanksgiving and Remembrance Day) • Weekly Quizzes: 15% • One question on material covered in labs Monday-Tuesday of the same week • Each quiz marked out of 17, worth 1.7% of the final grade • All quiz results will be included in your final grade • Midterm: 15% • Final: 35%
Quizzes • During each Wednesday’s lecture, you will be asked to answer one question based on material covered in the lab exercises that week. • You will be asked to write a short concise paragraph of 10-15 sentences, explaining a concept or method, or a short piece of code. • You will be given 10-15 minutes to answer. • Your answer will be graded out of 17 (each quiz is worth 1.7% of your final grade)
Midterm and Final • One 50 minute in class midterm • One 3 hour final examination • 35% short answer problems • 65% longer problems that utilize several important concepts and require integration of those concepts. • A sample exam, including solutions, will be posted two weeks before the midterm and two weeks before the final exam
Assignments • At least two weeks before the due date the assignment will be posted on the website • Assignments must be completed individually • Assignments will require you to combine and use many concepts and tools you have learned • Assignments will be much more demanding than lab problems or practice problems • Complete solutions to all assignments will be posted • Information of proper preparation of assignments and lab problems is available on the class website.
Labs • On or before Friday of each week problems will be posted for the next week. These problems will be identified as • Lab Problems: To be completed individually or in a small group (up to four students) • Submitted for grading • Practice Problems: A chance to use a new idea in a simple application, before you need to integrate multiple ideas into assignments. • Collaboration is encouraged • Not submitted for grading • Complete solutions to all problems will be posted
Grading Information • Assignments and Lab Problems should be: • submitted electronically using the submission server • submitted in hard copy to the 102 drop box • Bonus points (10%) are available for submitting assignments more than 72 hours early • No late assignments or lab problems will be accepted • Unofficial grades will be available on GradeBook • Login: your SFU computer ID, your student number as password. Find link on Course Central
Where to submit assignments: 2 Submission drop boxes
Academic Honesty Read the policy
Getting Started • If you have not already done so activate your SFU computing account (CCN, Campus Computing Network account.) • Use your own machine at home, or go to the assignment lab (AQ 3145) • Email regarding the class will be sent to your Campus Account, so check it regularly • Steps to activate your account …
Activating your CCN account (1) Select mySFU
Activating your CCN Account (2) Select Apply for ID, the follow the instructions. You will need your student ID and your TeleReg PIN
Computing Science Instructional Labs (CSIL) • The CSIL LINUX lab is available for your use at all times beginning in the second week of classes. (ASB 9838) • At particular times the instructor and/or TA will be available in the lab to answer your questions. • Instructor: Mon. 1:30-3:00 PM, Tue: 9:00-10:30 AM • TA: Tue: 10:00 – 10:30 AM • . TBA
Finding CSIL labs: 2 CSIL Labs
Access to CSIL • CSIL is protected by a security card access system • As a student in a computing science course you are eligible to have a security access card for CSIL • If you are pre-registered your access card may be picked up from the card office at traffic and security (there is a $15 refundable deposit and a $3 processing fee)
CSIL Rules • Before you can use any of the computers in the CSIL you must sign and return an ethics form. • By signing the ethics form you indicate that you have read and agree to abide by the SFU and CSIL regulations regarding use of computing resources and computer labs. • Links to these policies can be found on the class website or on Course Central • You can return your ethics forms during next class, or directly to the computing science main office.
http://www.cs.sfu.ca/CourseCentral Select to reach Policies
CSIL page IMPORTANT Read the Policies Before Signing Your Ethics form
Getting Started in CSIL • Before you try programming in CSIL read the information provided for you • Read the general information pages • Browse the FAQs, • Now you are ready to start • Your CSIL computer ID and password and the ID an password you use for your SFU email account.
CSIL page Read the general information Browse The FAQs
Labs and using CSIL • The computers in CSIL are available 24/7 • At some times your instructor or TA will be available to answer questions • At some times OPEN LAB TA’s will be available to answer questions. • A list of TA’s presently in the lab will be posted on the white board in CSIL.
Optional Lab Hours • Attendance at optional Lab hours is strongly encouraged • Lab Hours are held in the LINUX area of CSIL labs • Lab Hours provide an opportunity to work with others sharing knowledge and experience. • Lab Hours give you an opportunity to ask the instructor or TA one on one questions about problems and assignments. • Lab Hours help you learn the required concepts one by one and allow you to ask questions to assure you understand each one.
Operating System • In the CSIL labs you will be using computers that run the LINUX operating system • In the first optional lab hours there will be tutorials on how to use the LINUX operating system (1 per hour) • The tutorial will also be posted so you can try it yourself at another time
Reading Assignment • Visit and read the information on the class website • Be sure you can find • Posted notes • Reading assignments for each lecture • Assignment due dates • Instructions on using the CSIL labs • Instructions on using your own computer for assignments • Have any questions ready for next lecture
CMPT 102Introduction to Scientific Computer Programming Chapter 1: Computer Components
Hardware and Software • A computer is a machine designed to perform operations specified with a set of instructions called a program. • Hardware refers to the computer equipment. • keyboard, mouse, terminal, hard disk, printer, CPA • Software refers to the programs that describe the steps we want the computer to perform.
Computer Hardware • CPU – • Central processing unit • ALU – • Arithmetic and logic unit • ROM – • Read only memory • RAM – • Random access memory Internal Memory External Memory CPU Input Output Processor ALU Cache/ Memory
Software: Operating System • A system of computer programs that control the interaction of the user and the computer hardware. Examples: Linux, Windows, QNX,… • Purposes of the operating system • Controls communication between input and output hardware and each process running in the computer. • Directs and orders all operations of the computer • Allocates and shares resources (memory,processor…) • Controls access to resources and data (security) • Provides a user interface (UI) and/or graphical user interface (GUI) • Stores and accesses data and applications
Example: Command Line UI • Windows Command Prompt
Example: Graphical UI (GUI) • Windows explorer
Computer Software: Applications • Application Software (Software Tools) • Word processors (Microsoft Word, WordPerfect, ...) • Spreadsheet programs (Excel, Lotus1-2-3, ...) • Computer games • Communication software (email, chat, web browser…) • Telecommunication software (VOIP, …)
Computer Software: Languages • Some Computer Languages • Machine language (machine instruction set) • assembly language • high level languages • C, C++, Ada, Fortran, Basic, Java • Do YOU know of any others? • mathematical computation tools (MATLAB, Mathematica, ...) • Application software is written using computer languages.
Machine language • Each type of processor (like Pentium 4, Athalon, Z80, …) has its own instruction set • Each instruction in an instruction set does a single thing like access a piece of data, add two pieces of data, compare two pieces of data … • Each instruction is represented by a unique number This # may be different for different instruction sets, but no two instructions in the same instruction set will have the same #