Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
CIS*1500Introduction to Programming
CIS*1500
• Learning to program
• The basic constructs of programming
• Programming in the C language
• Solving real problems
• Not just about coding!
About me
• ???
Some basic things...
• Online textbook is required for this class
• You need access to a Raspberry Pi computer for this class
• You do not need a clicker for this class
• Textbook activities are due 9am every lecture day
• Labs start Monday
The textbook
• zybooks.com• Register and log in
• Enter zyBook code UOGuelphCIS1500Fall2015• Click Subscribe
Do you want a SOCS t-shirt?
• Only available to CIS*1500 students.
• You have to attend the BBQ (5pm)... in front of the Reynolds building.
• Find the people who are handing out the t-shirts
• Passphrase for the T-shirt is “These aren’t the droids you’re looking for.”
• No quote, no t-shirt.
The Basics
• Instructors:
• Justin Carvalho’s office: Reynolds 322A
• Judi McCuaig’s office: Reynolds 311
• Dr. Wirth’s office: Reynolds 211
• Contact info
• email: [email protected]
• Course Website: http://bucky.socs.uoguelph.ca
The Basics
• TA support
• approximately 20 TAs
• lab help
• tutorial sessions (announced on bucky)
• one on one help sessions
Communication
• Read the course forums. Ask questions there.
• Announcements that are critical will be emailed (rare)
• Email questions to [email protected]
• Office hours and appointment times on course website.
• Ask questions early and often. If you have a question, so do at least 10 others. Someone has to be brave enough to ask it.
Getting Help
• Extra tutorial sessions will be available for sign up after second week of class.
• Your TA will be happy to help you during lab time.
• TAs will be available outside of lab times.
• You can attend office hours for help.
• Be on time for appointments and have specific questions ready.
• You may bring up to 3 classmates with you to appointments. More than that overfills the offices.
Getting Help
• Course forums:forum.socs.uoguelph.ca
• Course website:bucky.socs.uoguelph.ca
course key is slowcheetah62
• If you've already logged into the course website you don't need the course key.
• Log in using your gryphmail username and password.
Getting started
• Labs start Monday.
• You need a Raspberry Pi computer for this course.
• Textbooks are optional.
Assessment
• Practical (45%)
• Daily practice from textbook (20%)
• Assignments (25%)
• Exam (55%)
• Lab Exams (20%)
• Final Exam (35%)
Due dates
• Assignment 1 is due October 18 at 11:55 pm (10%)
• Lab Exam 1 is the week of October 26 (10%)
• Lab Exam 2 is the week of November 16 (10%)
• Assignment 2 is due November 22 at 11:55 pm (15%)
Daily Practice
• Each chapter of the textbook contains activities and challenges
• You are graded on your completion and success with those activities
• Due at 9:00 AM every Tuesday/Thursday.
• One chapter per lecture
Assignment Grading• Assignments are graded in-person, by appointment. If
you forget to make an appointment, you won't get a grade.
• The mark breakdown is available with the assignment. The actual rubric will be available shortly before the due date.
• Assignments that compile with errors or warnings get a grade of zero.
• All assignments and labs must compile with:-Wall -std=c99 -pedantic
• Assignments that do not run will get a grade of zero. But they don’t have to run perfectly.
Labs
• Labs will be each week
• Lab times are for tutorials and help with assignments
• Lab Exams are also held during lab times (two weeks)
• During lab exam weeks you must go to your own lab time
Course Grading Policies
• Passing Grade:
• In order to pass the course, you must pass both the practical and exam categories. Students must obtain a grade of 50% or higher in the practical and exams assessment categories in order for that category to be counted towards the final grade.
Course Grading Policies
• Missed Lab Exam:
• If you miss a lab exam due to documented grounds for granting academic or religious accommodation, the weight of the missed assessment will be added to the final exam. There will be no makeup lab exams.
• Late Assignments:
• Late assignments will be assigned a grade of zero. There are no makeup assignments.
Course Grading Policies• Regrades:
• Requests made within 5 business days of receiving your mark.
• emailed to [email protected]
• Must have the word regrade and the name of the assignment or exam in the subject line
• Must contain a detailed description of why you feel the assignment should be regraded
• A regrade is not a chance to redo the assignment. The original submission will be graded.
ScheduleWeek Lectures Labs
Week 0 introduction no labs
Week 1 Programs; Unix fundamentals Raspberry Pi setup, command line unix
Week 2 Introduction to C syntax; Variables and Identifiers Programming practice, C compiler, Easy I/O library
Week 3 Expressions; Bugs and Defensive Programming Reading compiler output, debugging with printf
Week 4 Logic; Branches Programming practice, version control
Week 5 Algorithms Practice Lab exam- no credit
Week 6 Programming Style; Loops Style Checker, Version control practice
Week 7 Program Usability; Math in C Lab Exam
Week 8 Functions; Advanced Functions (pass by reference) Programming with functions
Week 9 Arrays; Advanced Arrays (multidimensional arrays, dynamic arrays)
Programming with arrays
Week 10 Testing; Strings Using strings and pointers
Week 11 Advanced Structures; File Input and Output Lab Exam
Week 12 Recursion and advanced problem solving; Review no labs
Academic Integrity
• Do your own work. Don’t do anyone else’s work
• Do not send/email/copy your solution to labs or assignments for anyone
• Do not write a solution on a whiteboard for others to copy
• Do not let other people use your account
• We check solutions electronically for similarity
• You will be required to agree to a statement verifying that the work you hand in is your own for each assignment and lab exam prior to submission
Technology
• Raspberry Pi running Raspbian or Debian is the target platform
• Raspberry Pi 2 is preferred, B or B+ is workable
• Class 10 SD card
• Kit is $135 if you buy from our supplier
• Available next week, Wednesday PM
The Raspberry Pi
The Raspberry Pi
• must have for lab exams
• may not share an SD card
• may share a computer
Technology
• C (not C++) is the language
• c99 is the version
• Raspbian (linux) is the operating system. Experienced linux users may choose to work in Debian Jessie if desired.
• You must learn how to navigate an operating system using the command line
Technology in the Classroom
• Treat the classroom and the lab spaces as your workplace
• Professionalism and courtesy are required.
• Use your computing devices for notetaking and course related activities only during lecture and lab times.
• Facebook isn’t related to the course. Neither is youtube.
• Movies and games are very distracting to the people around you. Save those for times that you are not in class.
• Turn off buzzers, ringers, and alarms during lecture and lab times.
• Put away your phone. You don’t need to text people during class.
How to ace this course
• Come to class. You never know when the in-class info might be really useful.
• Be prepared for class: bring pencil, pen AND paper to class.
• Do ALL the practice activities from the textbook. Do them on time, prior to class.
• Start all assignments at least one full week prior to the due date.
How to ace this course
• Try to program something every day... even if it is only for 10 or 15 minutes.
• Get involved! There are groups in SOCS that are great resources for curious students. Join one of our informal programming groups (pi-users or gcc, for example).
Finally...
• You can not learn programming through osmosis.
• To become proficient at programming you have to practice... lots.
and... be able to solve problems.