Instructor Contact Information

  • Instructor: Amelia Garripoli
  • Office: TEC-210 (Bremerton)
  • Office Hours: Tue 2-3 & Wed 4-5(on-campus or online) or by arrangement
  • Office Phone: (360) 475-7588 (M-Th)
  • Mail: Amelia Garripoli (B&T), 1600 Chester Ave, Bremerton, WA 98337-1699
  • Website: faculty.olympic.edu/agarripoli
  • Skype ID: Prof. Garripoli (Bremerton)
  • Email: agarripoli@olympic.edu
    Send Course questions through the Canvas Inbox.
    Do not send assignments to my email or Canvas Inbox, they will not be accepted for grading. All assignments must be submitted in the manner requested; most are submitted on GitHub, some are submitted on Canvas. Grades will only appear on Canvas for all work. I do not monitor email or Canvas during weekends, holidays, or breaks. Resend if you get no response from me within one business day during the term; your message may not have reached me.

Course Detail

  • Catalog description: Study of data structures: bit fields, structs, linked lists, and binary search trees. Study of bit operators and unions. Write programs utilizing these concepts using software development practices.
  • Prerequisite:CIS 145 with a 2.0 or better, or permission of instructor. Note: if you took CIS 145 more than a year ago, you may have forgotten what you learned. Review that material, or contact the instructor for advice. See also Technical Expectations.
  • Credits: 5
  • Class dates: January 2 - March 15, 2018. School holidays: Jan 15, Feb 19 (both Mondays).
  • Class format: This is a hybrid class with recorded presentations and on-ground activities. Attendance is required on the following days: Jan. 2; Feb. 1; and Mar. 8 and 15.
    • Class: Tuesday & Thursday, 10:00am-12:15pm (TEC-212 and Panopto live-streamed on non-attendance days)
    • Recordings: Recordings will be available each day by 5 pm, under Panopto Recordings in the course Canvas shell; if technical difficulties delay posting, an announcement will be posted with their planned availability.
  • Location: Class: TEC 212. Recordings will be available in the Canvas course shell under Panopto Recordings.
  • Final Exam: March 15 10am-12pm (this will be held)
  • Text Required: C Pocket Reference, 2002, by Prinz, Published by O'Reilly. ISBN 9780596004361
    The C Book, 2nd edition, by Mike Banahan, Declan Brady and Mark Doran, originally published by Addison Wesley in 1991, available online.
  • Also required: A USB thumb drive, 16 GB or larger; or cloud storage
  • Strongly recommended:a reliable, high speed Internet connection; a home PC or laptop; headphones and webcam
  • Core Abilities: CIS 225 meets the Core Ability of Thinking.
  • Learning Outcomes:

    By the end of this course, students will be able to:

    • Write advanced computer programs to industry standards using C language.
    • Solve programming problems using structured analysis and design methodologies.
    • Demonstrate effective, professional written communication skills.

Schedule

Visit the course Web site often for current assignments information, due dates, and messages.
The Grades section will show you the work you have submitted and the feedback for it.

See the Canvas Course or your Canvas Calendar for the current schedule of assignments.

All work is to be submitted through GitHub using pull requests, pull request comments, or tags (Git commands will be reviewed on our first day), or on Canvas using posts in Discussions or submissions in Assignments; these can be found directly in the "Assignment" section of the course Canvas site, or in module context using the "Module" link on the Canvas course navigation to access the modules for this course. A GitHub account is required for this course, and some GitHub repositories will not be available until the module for the repository begins.

Module Assignment Points Due
Module 0 Orientation Material in Canvas shell
attendance required
01/02
GitHub Access 5
Module 1 Bit Manipulation Material in text and Canvas shell 01/04
Lab 1 Test Plan 20 01/13
Lab 1 Test Plan Review 5 01/16
Lab 1 Code Package 50 01/20
Lab 1 Code Review 10 01/27
Module 2 Linked Lists Material in text and Canvas shell 01/16
Linked List Exam - in class
attendance required
50 02/01
Lab 2 Test Plan 20 02/03
Lab 2 Test Plan Review 5 02/06
Lab 2 Code Package 50 02/10
Lab 2 Code Review 10 02/17
Module 3 Binary Trees Material in text and Canvas shell 02/06
Lessons Learned Discussion 15 02/20
Lessons Learned Responses 10 02/22
Lab 3 Code Package 50 02/24
Lab 3 Code Review 10 03/03
Binary Tree Exam
attendance required
50 03/15
Module 4 Bit Fields, Group Project Material in text and Canvas shell 02/20
Lab 4 Presentation
attendance required
10 03/08
Lab 4 Code Package 50 03/08
Lab 4 Project Evaluations 10 03/10
Lab 4 Group Evaluation 10 03/10
Instructor Take-away (bonus) 03/15
Attendance points 15 live-streamed class sessions; attend or view full recordings the same week (weeks end on Sundays for this), 5 points per up to a maximum of 60 60
Total points 500

See the Canvas Course or your Canvas Calendar for the current schedule of assignments. Each module spans several weeks. Make progress each week to ensure timely completion of your work. If you wait to start the labs at the end of the module, you may find it very difficult to complete them on time.

Each week you will have the opportunity to develop your software development skills; work for each module is spread out during the module. Each module contains a series of activities around a lab and its concepts; typically this includes a test plan, test plan peer reviews, code package with design and test results, and peer code reviews. There are also two exams, for modules 2 and 3.

The course has a final lab group project; rather than the prior activities, this module includes group code, a presentation, evaluating other groups' projects as a user, and evaluating your group's efforts.

Grading

There are 500 possible points in this course. A minimum of 315 points are required for a grade. Without prior arrangement, I will record a grade of '0.0' if your points are below 315 points. If a student fails the course or is given a NC, WP or WF, the instructor must report a last attended date. It is my understanding that this date can have implications for some sources of funding. In this course the date the student last submitted work accepted for grading will be used as the last attended date.

Even with sufficient points, you may be administratively withdrawn from class if you do not demonstrate participation for two or more consecutive modules.

See chart below for details.

Letter GPA Points Percent Qualitative Definition
A 4.0 480 96% Superior course outcomes mastery
A- 3.7 465 93%
B+ 3.3 450 90%
B 3.0 435 87% Exceeds acceptable course outcome mastery
B- 2.7 415 83%
C+ 2.3 400 80%
C 2.0 385 77% Acceptable course outcomes mastery
C- 1.7 365 73%
D+ 1.3 350 70%
D 1.0 335 67% Minimum course outcomes mastery
D- 0.7 315 63%
F 0.0 < 315 < 63% Failure to master course outcomes

Points on work submitted on-time are posted as soon as possible, usually within 7 days of the due date; a bit more during exams or if my schedule gets impacted. My goal is to give reasonable feedback to as many students as possible in the shortest time possible. For discussions, grading is done after the replies are due. If I have a larger than normal grading load, I will notify you of any delays in grading. See Policies for information on getting assistance, submitting work, academic honesty and more.

Monitor your course progress and see what you have submitted by clicking on "Grades" on the course navigation on the course website.

Technical Expectations

This course uses computers and the language of computers. You are expected to be comfortable using a computer, particularly the Windows and Linux operating systems; a web browser; e-mail; and the Canvas Learning Management System. You will be expected to check your work using cut-and-paste into web forms, create and edit Word documents, open files with web browsers, take and save screen shots, and create Zip files of your work. You will be expected to use Linux, Git, and GitHub in this course. Resources to give you basic Linux and Git skills are provided in Module 0; it is your responsibility to use them. On Canvas you are expected to be able to post to discussions, submit assignments, find course information, view recordings, and use the Canvas messaging system, calendar, and gradebook, and similar skills. On GitHub, you will be expected to accept invitations, clone repositories, work on a local repo and push the work back to GitHub, open Pull Requests on GitHub, and read comments posted on your pull requests.

If you do not feel comfortable with these skills, consult with an OC advisor for appropriate courses to take first.

It is expected that you have regular access to a machine with a current web browser (to access Canvas) and putty (to ssh to cis2) installed, or administrator privileges so that you can install them. If you do not, you will need to come to the Bremerton Campus to use the machines in the TEC-212, ST-122, TEC-205, or TEC-213 labs, where that software is available.

You will need to schedule sufficient time in the TEC labs that provide putty or on a computer you have regular access to, to complete the coursework. We are using Linux, gcc, and git for this course. Code must compile and run correctly in that environment to be accepted for grading.

You will need to have regular Internet access for completing and submitting coursework. Please develop a plan "B" in case you have issues with your normal Internet access and related software that might affect your ability to participate in this class. A computer or software issue will not change your due date. Computer labs are available at all OC campuses. See Computer Labs on the OC website for their locations and hours. All PC labs have Firefox and putty on the machines.

Policies

  1. Ask for help:

    First, if you need help, get help early and often - if you wait it can become too late. Start assignments early and be proactive. The tutors and instructor are all available to help you.

    If you need assistance or are having problems in this class, please visit with me in person or online during office hours so we can discuss your options. I am available outside of office hours as well, by arrangement. The best way to contact me electronically is to use your Canvas Inbox. Canvas' Inbox is where I expect to locate student questions. All other methods will take longer and will not keep a centralized location for all our correspondence to assist with documentation. I monitor Canvas throughout the weekday during the term except on holidays.

    If you do contact me through Canvas for help - please give sufficient detail, for example, by attaching the source code file in question to the message and explaining what is happening. The subject needs to identify the topic or lab it is for; references to past labs will not get prioritized so be sure to use the correct subject line. Stacking multiple messages to me with the same subject line may cause earlier ones to be disregarded, as Canvas displays the most recent one first.

    You can expect a response from me to your Canvas Inbox message within one business day; do not expect a reply on weekends, breaks, or holidays. If you do not get a response, resend your message and check the to: address to ensure it is going to the appropriate person.

    If we need to use email, you must use your Olympic College email account. Email from non-olympic.edu addresses will be ignored per OC policies. More information on OC email student accounts can be found at: http://www.olympic.edu/Students/StudentEmail. Please ask for help in a CIS lab if you have not been able to access your OC email account.

    If for some reason you have to use email (Canvas is preferred), the subject line of your email must include the class, your name, and the topic, like so: CIS 225 | Jane Jones | Lab 1 Firefox crashing. Email messages with that subject line format will be responded to within one business day during the term. Other subject lines may not be noticed until I am catching up on older emails.

    For help with coursework, you may also attend or call in during the CIS Programming Tutor Sessions. Please only contact the tutors during their open lab time. They are students too, and need time for their own studies when not tutoring. For Winter 2018, programming tutoring is being held in TEC-212.

    The role of the tutors is to assist the student during tutor sessions in general approaches to problem solving, internalizing core concepts, and understanding constructs of a particular language. Tutors may review homework only to determine which topics require additional attention or review by the student so that they can be successful. Tutors and other students are not allowed to directly provide any part of a solution to a home work assignment. The work must be the student's own. Tutors are required to report students that request help outside of tutoring hours or that request help directly completing a home work exercise to the instructor for the course they are seeking help with.

    If you need help outside of class material, there are a wide variety of resources available to you. See Student Services and also Counseling Services for assistance.

  2. Etiquette/Netiquette: It is expected that both in person and in electronic communication, students and instructors will act in a professional manner. This includes that we all be tolerant of others’ views, be respectful in dealing with others, show common courtesy, and use standard professional English in our communications, both written and verbal. Remember that capitalization and exclamation points are considered yelling, and texting lingo is not professional. Ask first if you are not sure if your note is offensive.

    Be respectful of the opinions of others. Disagreement is fine but do so in a straightforward and polite way. There is nothing to be gained from making rude, insulting or abusive remarks verbally or electronically. You are expected to behave in a professional manner and will be held to a standard of professional etiquette.

    Violations of this policy may result in lowering of an assignment grade or your overall course grade, reporting the violation to student services, or administrative withdrawal from the class. WAC 132C-120-065 specifies particular prohibited student conduct including academic dishonesty, plagiarism, cyber misconduct and other prohibited conduct. Disruptive behavior will not be tolerated in the classroom or online; see WAC 132C-120-076.

    For ground classes, refrain from the following during class time: talking over other people, using the computer (except for note-taking on the discussion), cell phones/pagers, gadgets, guests, eating, sleeping, or other disturbances to the class unless an alternative class mode of conduct is in effect.

  3. Effort: Regular attendance and success in this course have a strong correlation. Regular attendance for our hybrid class means:
    • You are logging in to the Canvas classroom, cis2, and GitHub at least three times per week.
    • You are completing the reading prior to watching the recording/attending class.
    • You are attending, or watching the recording during its applicable week/module.
    • You have a plan B in place in case your internet access is interrupted, and use it.
    • You make regular progress on the plans, reviews, and labs each week.
    • You prepare for the exams and presentation and show up promptly for them.
    • You actively participate in your group, contacting the team at least every other day during the group project.
    • You seek assistance promptly from the instructor or tutors when you have questions on the reading, the recordings, or any assignments.

    New concepts tend to build on previous concepts rather than stand on their own. If you have to delay your progress in this course, I suggest you catch up quickly and network with other students to get on track as soon as possible (days, not weeks). Utilize office hours and the tutors to ask for assistance. I am happy to make appointments outside of my listed hours.

    Students are expected to have the Course Textbook and satisfy the Technical Expectations on or before the start of class. Any requested reading or activity should be completed before the first class day of the module, so that the student can better participate in discussions and use lab time effectively. Not having a text and not being prepared will not be an acceptable excuse for not being able to participate in class or to turn in assignments on time unless there is a textbook acquisition issue with the OC bookstore (OC Bookstore Web site). If there are no books on the shelf, please consult a staff member. Do not assume the bookstore is out of textbooks.

    By taking this course, you are stating that you will be making appropriate time in your schedule to ensure success and have access to the resources required for this class. Expect to spend about 3 hours per week for each class credit to ensure success. For a 5 credit class this is 15 hours of class work per week. If you review class recordings several times, expect to spend additional time. Being a full-time student is a full-time job, with 15 credits there are easily 40+ hours per week in class and study time.

    I understand that for many community college students, attending college is a part of a very busy life. Planning is key.

    Remember: You are responsible for your learning. You may be administratively withdrawn from course if you do not demonstrate participation within the first week of the term. Participation in the first week is measured by access to the course shell on Canvas. You need to invest regular, consistent time to succeed in this course.

    Time management is your friend or your foe! Waiting until the evening of the due date to ask a question of an assignment will not provide success in this course. You may not get a response before the due date. That is your responsibility, you alone are responsible for your late start. Start assignments early and be proactive. Our assignments are complex, and giving yourself time to think about them is usually key to successfully completing them.

    Instructions for assignments must be followed, including identifying information and file names. Failure to follow this policy may result in the deduction of points on the assignment.

    You may be administratively withdrawn from class if you do not demonstrate participation for more than two consecutive weeks. At the end of the day, you need to make the choices to maximize your learning.

  4. Due dates: Assignments are due on time, the date for each is given on the course Canvas site. Online postings (Canvas and GitHub) are due by 11:59 p.m. of the due date or they will not be accepted. You can post assignments prior to their due date, however grading is typically done once the due date is past. Please do not wait until the last minute to post your work -- expect connectivity issues with Internet access and plan accordingly. Especially if you are uploading large files, you will need to start the upload early, and leave time for your plan B solution if you should lose internet connectivity during the upload. All assignments must be posted by 11:59pm of the due date listed for a given item using the appropriate posting for a given assignment to be considered as on-time. Any assignment not submitted by that time will be considered late. Do not wait until the last minute to complete or upload your assignments; that will not be excused. Note: Emailed assignments will not be accepted for grading unless specified as part of an assignment or previously approved.

    When assignments are posted on Canvas, using the form provided, Canvas will tell you if it succeeded or failed. I strongly recommend returning to the course page in another browser window to verify that the Discussion Post or File Submission was successfully completed, and put in the correct course and assignment. Since little or no paper is used in the course, your only documentation that you posted an assignment is the successful completion of a submission on Canvas. Please save your files and make screenshots of the successful submission. Keep them safe in the event of a system failure and/or loss of postings at the course Web site. To date, loss of data is extremely rare but can happen since we are using the Internet for transmitting data and software to save it at the far end. It is strongly recommend that you print out all your form confirmations and place them into a confirmation notebook as your backup. If issues do arise, one of the first things I may ask to see is your submission confirmation. Without a submission confirmation for an assignment, in the correct course assignment, you may receive 0 points for an assignment.

    All requirements must be met for your submission to be accepted for grading. Follow the directions provided in the assignment box to ensure all naming conventions, files requested, information requested, and formats requested are provided.

    For this course, there is no late work permitted due to the reviews that go on on each assignment. Your peers cannot review your work in a timely fashion if you do not submit it on time. Your work must be completed by the assignment's due date.

    If you have a one time event that is a Title IX/Accessibility/FMLA extenuating circumstances such as a serious illness or accident, or active duty for you, your parent, your spouse, or your child, the late policy may be waived. You must make your request through Canvas before the assignment is due for a late policy waiver or have verifiable proof of your inability to make the request by that time. Vacations, colds, or other discretionary activities will not be accepted. On-going or pre-existing situations can not be used for reasons for late work as they were known constraints at the start of the course. If you are not sure, ask rather than failing to contact me or submit anything.

    A late waiver is a one-time, one-assignment event, and any excused late work will not transfer to additional assignments. You will need to catch up with the course schedule and continue on time. If for some reason you cannot catch up, you can contact Registration & Records to withdraw; it is not sufficient to tell me that you are withdrawing.

    Accepted late work will be graded at the discretion of the instructor both for points as well as when the assignment will be graded.

    Occasionally I will request that an assignment be redone in whole or in part because it appears that the learning outcomes may not have been met regarding that assignment. If a redo is requested, a notice will posted in the Comments section of the assignment along with the current grade. You need to resend the requested redo assignment within 3 days of the request. However, redo work will not be accepted after the last lecture day of the term. If not submitted in a timely fashion, the redo will not be graded and the original grade in Canvas will stand. Please contact me via Canvas or during our office or lab hours for instructions and support. Please see Redo assignments as a courtesy and not as a right. Redo work will be graded at the discretion of the instructor for points and when the assignment will be graded.

  5. Withdrawing: If you wish to withdraw from this course, please file the appropriate paperwork with the Office of Registration and Records and then inform me of your decision. If you are still in the gradebook at the end of the term, your computed grade with 0's for unsubmitted work will be used unless you have been in contact with me previously to make other arrangements or you were administratively withdrawn for non-attendance. It is your responsibility to contact Registration and Records, otherwise you remain enrolled in the course.

  6. Academic honesty: No academic dishonesty will be tolerated, see WAC 132C-120-065. Academic dishonesty includes cheating, plagiarism, fabrication, and facilitating academic dishonesty. Facilitating academic dishonesty includes providing your own work to someone else for their solution; do not put the tutors or your classmates in this situation, they cannot provide you with solutions, only guidance and explanations.

    Evidence of academic dishonesty will result in a forfeiture of points for an assignment and will be reported to student services. Continued violations may result in a student being assigned a WF, 0.0, or administratively withdrawn from this course.

    Unless otherwise noted your assignments are individual assignments and I expect that your work will be your own. At any point during the term, you should be able to explain or duplicate any of your solutions for your assignments. I reserve the right to refuse to accept any assignment if you cannot demonstrate the ability to perform similar work when asked, or if you cannot explain your answer or approach that you have used. I encourage you to work with one another to internalize and discuss general concepts and approaches, but your work must be your own. You must not show your peers in the class your actual work prior to a due date -- that would permit them to use your work as their own. When you work with the tutors, you cannot ask them to provide you with correct syntax and exact solutions, they can only guide you. You need to develop and internalize the solution yourself.

    Please note: cut and paste of another's words is plagiarism. Quoting in a limited amount with a citation noted on the quote is permissible unless explicitly requested otherwise. Your words must be your own.

  7. Course Material: All recordings provided for this class through Canvas or Panopto are copyrighted by Olympic College. If you have copied or downloaded any of the recordings provided through Canvas, you must delete them once the term completes. Olympic College does not grant permission to retain recordings of class material. See the OC Copyright Policy.
  8. Service members: I work with service members (military, police, fire, and other on-call emergency personnel) as best possible to enable you to complete this course. You must notify me through Canvas before any special accommodations will be made that explains your special situation that may temporarily impact your ability to participate in this course. Please note that all assignments are open from the start of the term. If you know of an upcoming situation, please take advantage of this opportunity before requesting accommodations.
  9. Special requests: All special requests must be requested through Canvas to develop an electronic trail even if we have a face-to-face conversation. After such a conversation, send me a message on Canvas or your OC email right away to document what was discussed and to create an electronic trail of the conversation. It is your responsibility to send that follow-up message through Canvas or OC email.
  10. WAC Regulations: Please review Olympic College's WAC 132C regulations. Washington Administrative Code (WAC) 132C is Washington State law and governs the behavior of the administration, faculty, and students. Laws for student conduct and academic honesty, in 132C-120 WAC: Student Conduct Code, are always followed in this class. Chapter 132C-120-065: Prohibited Student Conduct deals with issues of academic dishonesty, plagiarism, cyber misconduct and other prohibited conduct.

Non-discrimination

Olympic College seeks to maintain a learning and working environment that is safe, welcoming, and respectful of the dignity of all members of the campus community. Accordingly, the College prohibits discrimination on the bases of race, color, religion, national origin, age, disability, sex, sexual orientation, gender identity, pregnancy, veteran status and all other protected classifications. If you witness or encounter any such discrimination, including sexual harassment, sexual assault, or other sexual misconduct, you are encouraged to report it to the Title IX Officer, Cheryl Nuñez, Vice President for Equity and Inclusion at cnunez@olympic.edu/360-475-7125 or the Equal Employment Opportunity Officer, David Slown, Executive Director for Human Resource Services at dslown@olympic.edu/306-475-7300, who will assist you in connecting with all possible resources. You may also report it online (and anonymously) at Report It, OC! or seek confidential counseling from Counseling Services at 360-475-7530 or at HSS 203. See also http://www.olympic.edu/nondiscrimination-title-ix.

Accommodations

Student Absences for Reasons of Faith or Conscience, OC Policy 300-03: Under this Policy, OC students may request absences from classes two (2) days per academic year for reasons of faith or conscience without adverse impact on their grades. A request for absence must be submitted 21 days in advance of the absence or as soon as reasonably possible. Find the required form “Student Absence Form: Reasons of Faith or Conscience” in order to request the absence. Upon verification of the absence, notify instructors so that they may develop adjustments for assignments and tests.

Any student who feels they may need an accommodation based on the impact of a disability or pregnancy should contact the Access Services office in HSS 205, by email at AccessServices@olympic.edu or by phone at (360) 475-7540. More information may be found on the Access Services website. Access Services must be contacted at least two weeks before the accomodation is needed.

Note this class has timed exams, and required attendance.

Please contact me via Canvas or see me during office hours concerning your accommodation request(s) after you have submitted them to Access Services, so I can meet your needs in class.

Note that about 10% of all OC students have some type of disability, both observable (like the use of a cane) as well as invisible (like PTSD or asperger syndrome). Most disabilities at OC are invisible. As instructors, we cannot disclose a student's disability. The decision to share with others is a choice of the student.

Success

I want you to succeed. This class gives you an opportunity to develop and practice professional skills. I am here to support your efforts. Please contact me and use my office hours if you need help with this course. I also welcome your insights and feedback.

Welcome to CIS 225, I look forward to sharing more C with you.
\Amelia.

Note: Syllabus content, course due dates and assignments may change at any time. Canvas will notify you of any changes during our course.