COMP 2511 Procedural Programming with C
|School||School of Computing and Academic Studies|
|Program||Computing Part-time Studies|
|Minimum Passing Grade||50%|
|Start Date||January 05, 2021|
|End Date||March 13, 2021|
|Pre-requisites||COMP 1451 or COMP 2501 or COMP 2526 or (Full-time CST: COMP 1510 and COMP 2522)|
Acknowledgement of Territories
The British Columbia Institute of Technology acknowledges that our campuses are located on the unceded traditional territories of the Coast Salish Nations of Sḵwx̱wú7mesh (Squamish), səl̓ilwətaɁɬ (Tsleil-Waututh), and xwməθkwəy̓əm (Musqueam).
|Instructor to provide|
|Office Hours||Instructor to provide|
This hands-on intermediate level course assumes prior knowledge of programming as taught in COMP 1451 or COMP 2501. Students who have a solid understanding of programming concepts are introduced to procedural programming with C. COMP 2511 is BYOD course, participants must provide their own Windows 10 dual core laptop with a minimum of 8GB RAM and high speed internet in order to participate in this course. Topics include language syntax, common coding styles and idioms and the implementation of selected data structures and algorithms in C. Lectures and code examples are reinforced with hands-on labs, and assignments. This course has two classes per week over ten weeks and uses the BCIT Learning Hub for quizzes, discussion boards, labs and assignments. COMP 2511 is equivalent to COMP 2510 in CST Full-time. Upon completion, C Programming students will have improved their application development abilities in other programming languages, as the C syntax is the basis for Java, C# and C++. COMP 2511 is an elective in the Applied Software Development, ASD Associate Certificate and is required in the Computer Systems Certificate, CSC. Successful will be able to design, build and deploy modular multi-file C programs to industry standards.
Course Learning Outcomes/Competencies
Upon successful completion of this course, the student will be able to:
- Discuss programming language concepts such as pass-by-value versus pass-by-reference, scope, storage duration, linkage & memory models.
- Apply the functions in the standard C library in developing programs
- Perform input/output in C.
- Identify and use control statements in C programs.
- Create and use functions in C programs.
- Process arrays in C.
- Explain pointers & their relation to arrays & strings.
- Process strings in C.
- Implement selected data structures & algorithms in C, including linked lists and binary trees.
- Perform file processing in C; both sequential and random access files.
- Manage large C programs that involve multiple files.
- Design, implement & debug software application programs written in C.
C How To Program,
Authors: Deitel & Deitel, 8th Edition (Note: It must be the 8th edition and not the international version )
- ISBN-10: 9780133976892
- ISBN-13: 978-0133976892
Learning Hub (Was formerly D2L) BCIT online portal.
- To understand how to use an imperative programming language (C) to build a significant software application, to industry standards.
8 Assignments (4 are optional)
You must complete and submit all 4 required assignments with an average of 50% or better in order to pass the course.
Midterm Closed Book Exam
Approximately 1.5 hours in length on week 6 Friday class
Final Closed Book Exam
Approximately 1.5 hours in length on week 10 - very last class.
NOTE: Passing grade for this course is 50%.
- Students must have an average of 50% or better on the closed book midterm exam and the closed book final exam combined to pass the course.
- Students must have an average of 50% or better on the 4 required assignments to pass the course.
Late assignments will not be accepted for marking unless the student makes arrangements with the instructor at least one week before the assignment is due.
- Plagiarism and other forms of cheating will not be tolerated:
Students are encouraged to work in groups to develop peer to peer communication and support. However each student must complete and submit their own individual work (not copies of the same assignment) and not material found online or recycled from other courses.
Assignments are to be completed by each student on an individual basis.
- Academic misconduct also includes providing solutions to other students:
Students who cheat or enable other students to cheat will be documented and kept on file. Any subsequent instances of academic misconduct will meet with harsher penalties.
Penalties include being dropped with no refund and failing the course and/or being indefinitely removed from the program
- Academic Integrity:
Violation of academic integrity, including plagiarism, dishonesty in assignments, examinations, or other academic performances are prohibited and will be handled in accordance with Policy 5104 - Academic Integrity and Appeals, and accompanying procedures.
Please watch the short video before the second lesson; Welcome to Computing PTS
Please Note: By attending this course you agree to read the Computing PTS Student Guide.Computing PTS Attendance Policy
Attendance in lectures and labs is mandatory and recorded for all lessons in this course.
- In case of illness or other unavoidable cause of absence, the PTS student must communicate as soon as possible with his/her Instructor indicating the reason for the absence.
- Prolonged illness which causes the PTS student to miss 20% or more of the lessons will require a BCIT -approved medical certificate submitted to the department, substantiating the reason for the absence.
Excessive absence of 20% or more may result in failure or forced withdrawal from this course.
Course Specific Requirements
- Completion of COMP 1510 or COMP 1451.
- All students must provide their own current model PC desktop or laptop with a web cam, a microphone and have high speed internet access. BCIT does not provide technical support for student’s devices.
- Courses will be delivered in real time and may use two-way audio and video as well as group work.
- All students must be computer literate and be able to log in during regular scheduled class hours in order to participate and complete this course.
BCIT Computer Use Guidelines
School of Computing students are expected to use BCIT resources in both a professional and ethical manner. When using BCIT computer resources, some specific expectations include:
- Respect others. Do not download, view, or distribute inappropriate or offensive material.
- Respect copyright. Do not download or share any unauthorized materials (e.g. music, movies, games and software).
Respect our vendor software agreements. Do not download products which are not used in your specific courses (we have tracking mechanisms in place). It is each student's responsibility to remove vendor provided software when the course ends.
- Respect confidentiality. Do not attempt to gain unauthorized access to any account, system, or data. Do not attempt to bypass any protective mechanism or attempt unauthorized access or alteration of BCIT data.
- Respect availability. Do not engage in any denial of service activity or take actions that will degrade the use of BCIT or other resources. Only use BCIT resources for your BCIT course work.
Consequences of policy violation could result in loss of access to BCIT resources and / or removal from classes.
Course Schedule and Assignments
Late assignments will not count for marks unless prior arrangements were made with the instructor at least one week in advance to the due date of the assignment.
Week of / Numer
Review of control structures
( optional assignment)
Characters and Strings
Formatted Input and Output
NOTE: Course Withdrawal Deadline. Please inform your instructor that you are dropping this course. You must also fill out and submit the 'REQUEST TO WITHDRAW FROM A PART-TIME STUDIES COURSE' before week 7 or else you will receive a failing grade on your academic record.
Structures, Unions, Bit Manipulations and Enumeations
Data Structures (cont)
Course evaluation: To be conducted online during week 9 prior to the class break.
Students will have previously received a link to the survey via their preferred email. Those who do not have the link in their preferred email cannot complete this online evaluation.
If you did not receive the link please email: BCIT_Feedback@bcit.ca at least 48 hours before week 9.
Your instructor will leave the room for 15 minutes while each student logs in and completes this anonymous course evaluation.
Variable-Length Argument Lists
DMA functions: calloc and realloc
File Processing (cont)
Pointers to Functions
C Preprocessor (cont)
Multiple Source File Programs
Any student who needs special assistance in the event of a medical emergency or building evacuation (either because of a disability or for any other reason) should promptly inform their course instructor(s) and Accessibility Services of their personal circumstances.
Human Rights, Harassment and Discrimination:
The BCIT community is made up of individuals from every ability, background, experience and identity, each contributing uniquely to the richness and diversity of the BCIT community as a whole. In recognition of this, and the intrinsic value of our diversity, BCIT seeks to foster a climate of collaboration, understanding and mutual respect between all members of the community and ensure an inclusive accessible working and learning environment where everyone can succeed.
Respect, Diversity, and Inclusion is a supportive resource for both students and employees of BCIT, to foster a respectful learning and working environment. Any student who feels that they are experiencing discrimination or harassment (personal or human rights-related) can confidentially access this resource for advice and support. Please see Policy 7507 – Harassment and Discrimination and accompanying procedure.
Students should make themselves aware of additional Education, Administration, Safety and other BCIT policies listed at https://www.bcit.ca/about/administration/policies.shtml
Guidelines for School of Computing and Academic Studies
Students must successfully complete a course within a maximum of three (3) attempts at the course. Students with two attempts in a single course will be allowed to repeat the course only upon special written permission from the Associate Dean. Students who have not successfully completed a course within three attempts will not be eligible to graduate from their respective program.
I verify that the content of this course outline is current.
Bob Langelaan, Instructor
December 22, 2020
I verify that this course outline has been reviewed.
Kevin Cudihee, Program Head
December 22, 2020
I verify that this course outline has been reviewed and complies with BCIT policy.
Mike Starkey, Associate Dean
December 22, 2020
Note: Should changes be required to the content of this course outline, students will be given reasonable notice.