Skip to main content

Course Outlines

COMP 2511 Procedural Programming with C

School School of Computing and Academic Studies
Program Computing Part-time Studies
Course Credits 5
Minimum Passing Grade 50%
Start Date January 05, 2021
End Date March 13, 2021
Total Hours 60
Total Weeks 10
Hours/Weeks 6
Delivery Type Lecture/Lab
Pre-requisites ​COMP 1451 or COMP 2501 or COMP 2526 or (Full-time CST: COMP 1510 and COMP 2522)
CRN 88193

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 Details

Name Bob Langelaan
E-mail Instructor to provide
Location n/a
Office Hours Instructor to provide

Course Description

​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.

Learning Resources

Required Text:

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.

Course Goals

  • To understand how to use an imperative programming language (C) to build a significant software application, to industry standards.

Evaluation Criteria




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.

Attendance Requirements

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.

Other information

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.

Please read BCIT policies 3501 Acceptable Use of Information Technology and 3502 Information Security.

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.

Course topics

Week of / Numer

Outcome/Material Covered


Due Date



Review of control structures

Assign 1

(optional assignment)

Week 2



Assign 2

(required assignment)

Week 3



Assign 3

( optional assignment)

Week 4



Assign 4

(required assignment)

Week 5


Characters and Strings

Assign 5

(required assignment)

Week 7


Formatted Input and Output

Midterm Examination

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

Assign 6

(optional assignment)

Week 8


Data Structures (cont)

File Processing

Assign 7

(optional assignment)

Week 9

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: 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

Command-Line Arguments

DMA functions: calloc and realloc

File Processing (cont)

Pointers to Functions

Assign 8

(required assignment)

Week 10


C Preprocessor (cont)

Multiple Source File Programs

Final Examination

BCIT Policy

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

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.