ECE264 - Advanced C Programming / Spring 2023

Course Description

This course teaches advanced concepts in C programming.

Learning Objectives

A student who successfully fulfills the course requirements will have demonstrated:

  • The ability to read and write C programs that uses files.
  • The ability to read and write C programs that use structures.
  • The ability to read and write C programs that use dynamic data structures.
  • The ability to read and write C programs that use recursion.
  • Text Book

    Computer Science: A Structured Programming Approach Using C (3rd Edition) by Behrouz A. Forouzan (ISBN 9780534491321)


    This is going to be an assignments heavy course with following pre-requisites.

    • CS 15900 with a minimum grade of C-
    You will be expected to write a lot of programs in C.

    Grading and Evaluation

    We will use the following distribution for grading:

    • Programming Assignments (12 out of 18): 60%.
    • Knowledge Exams (Online through Brightspace)
      • Weekly Quizzes (10 out of 12): 1% each. Total: 10%
      • Midterm and Finals (3 out of 4): 10% each. Total: 30%
    • Bonus (Based on Class Participation): 5%.

    Grading Policy

    Problems regarding grading of assignments and the midterm exam must be resolved within one week after the graded work has been returned to you. It is your responsibility to pick up the graded work on time. The grades will not be modified after the one week period. Normally, the TAs make the final decisions on assigning the grade for each assignment and each exam question. Therefore, any issues with grading should normally be resolved with the TAs. However, if a student believes the TA's solution is wrong for a certain problem, he or she can ask the instructor for clarification.

    Make-Up Exam Policy

    A make-up exam is given only in the most extreme circumstances and requires certification for such circumstances: e.g. medical doctor's statement certifying that the student is unable to attend the scheduled exam. Any personal travels, load from work or from other classes, failed alarm clocks, or simply not being able to make it to the exam will not be grounds for a make-up. If you have any recurring medical problems that may unexpectedly prevent you from making it to class or exams, please obtain a doctor's statement certifying your circumstances.

    Course Related Interactions and Discussions

    All important course-related information will be explicitly announced through Brightspace.

    The class uses Piazza to enable course-related discussions. Please join by clicking here. We strongly suggest you use it for general course-related queries and appropriately tag your question using one of the available tags:

    Academic Integrity Policy and Cheating

    As a student at Purdue you are subject to the Purdue University Student Code of Conduct, which enjoins you to respect the highest standards of honesty and integrity. All work that you submit in this course must be your own; unauthorized group efforts are considered academic dishonesty. See the online brochure Academic Integrity A Guide for Students for definitions and sanctions. Academic dishonesty is a serious offense which may result in suspension or expulsion from the University. In addition to any other action taken, such as suspension or expulsion, a grade of F will normally be recorded on the transcripts of students found responsible for acts of academic dishonesty. Students are encouraged to report academic dishonesty to the instructor directly, or to the Office of the Dean of Students.


    You must solve the exam problems yourself, without any help (knowing or unknowing) from any other student. You must not seek any knowledge in advance of the test questions (beyond that given in class), and must report any advance knowledge of the test questions by any student that you are aware of. You must not allow any other student access to your solutions during an exam. If the seating situation makes this difficult, please inform the instructor or the TAs.

    Programming Assignments

    Students are encouraged to talk to the TAs or the instructor on programming assignments. You may discuss questions related to the assignments on Piazza. However, no discussion of or sharing of specific code or written answers is allowed, and each team of students must write their own solution to the problem. Any sources used outside of the class textbook/handouts/lectures/template code must be explicitly approved by a TA. Note this policy requires you to protect your files against electronic copying using UNIX file protection, to not place your work on any publicly accessible site, and to exercise care in the disposal of any printouts of your work. Automatic tools will be used to compare your programming solutions to those of every other current or past student.

    The first case of cheating on an assignment will result in a zero for the particular assignment and reporting the student to the university administration for disciplinary action. The second case of cheating will result in an immediate F grade for the course.

    Nondiscrimination Statement

    Purdue University is committed to maintaining a community which recognizes and values the inherent worth and dignity of every person; fosters tolerance, sensitivity, understanding, and mutual respect among its members; and encourages each individual to strive to reach his or her own potential. In pursuit of its goal of academic excellence, the University seeks to develop and nurture diversity. The University believes that diversity among its many members strengthens the institution, stimulates creativity, promotes the exchange of ideas, and enriches campus life. Link to Purdue’s nondiscrimination policy statement.

    Students with Disabilities

    Purdue University strives to make learning experiences as accessible as possible. If you anticipate or experience physical or academic barriers based on disability, you are welcome to let me know so that we can discuss options. You are also encouraged to contact the Disability Resource Center at: or by phone: 765-494-1247

    Emergency Preparation

    In the event of a major campus emergency, course requirements, deadlines and grading percentages are subject to changes that may be necessitated by a revised semester calendar or other circumstances beyond the instructor’s control. Relevant changes to this course will be posted onto the course website or can be obtained by contacting the instructors or TAs via email or phone. You are expected to read your email on a frequent basis.

    Mental Health Statement

    It is important to make sure that you maintain your mental health.

    • If you find yourself beginning to feel some stress, anxiety and/or feeling slightly overwhelmed, try WellTrack. Sign in and find information and tools at your fingertips, available to you at any time.
    • If you need support and information about options and resources, please see the Office of the Dean of Students for drop-in hours (M-F, 8 am- 5 pm).
    • If you’re struggling and need mental health services: Purdue University is committed to advancing the mental health and well-being of its students. If you or someone you know is feeling overwhelmed, depressed, and/or in need of mental health support, services are available. For help, such individuals should contact Counseling and Psychological Services (CAPS) at 765-494-6995 during and after hours, on weekends and holidays, or by going to the CAPS office of the second floor of the Purdue University Student Health Center (PUSH) during business hours.
    • TaskHuman offers private, real-time, on-demand, 1-on-1 video calls with wellness coaches covering over 800+ topics such as anxiety, mindfulness, reducing stress, clean eating, time management, in-home workouts, relationship tensions, financial issues, spiritual guidance and many more. You can access these wellness coaches from around the world 24/7. The College of Engineering has an exclusive agreement with TaskHuman which gives you FREE and UNLIMITED access to these resources. Over 3,200 calls have been made by College of Engineering students, staff, and faculty so far with an average satisfaction rating of 4.89/5. Learn more here:


    Aravind Machiry (Section 3)

    Office Hours: TW (3:00 pm - 4:00 pm), M (12:00 pm - 1:00 pm)

    Location: BHEE 333

    Yung-Hsiang Lu (Section 2)

    Office Hours: MTWThF (10:00 am - 10:30 am)


    Graduate Teaching Assistants

    Check Schedule Picture for Office hours timings.

    Poulomi Pradhan

    Office Hours: Check GTA Schedule Pic

    Fernando Davis Rivera

    Office Hours: Check GTA Schedule Pic (TBD)

    Arun Bhattar

    Office Hours: Check GTA Schedule Pic

    Undergraduate Teaching Assistants

    Check Schedule Picture for Office hours timings.

    Gavin James Zyonse

    Office Hours:

    Glen Shaofu Cheng

    Office Hours:

    Sudhanva Donakonda

    Office Hours:

    Jakob Mathew Slason

    Office Hours:

    Zixiao Ma

    Office Hours:

    Justice Taylor Rowe

    Office Hours:

    Sreevickrant Sreekanth

    Office Hours:

    Brian Andrew Yuan

    Office Hours:

    Class Meeting Info

    Section 2: TTh 4:30 pm - 5:45 pm, Where: LILY G126

    Section 3: TTh 1:30 pm - 2:45 pm, Where: WALC 1018

    Instructor and GTA Office hours Schedule


    UTA Office hours Schedule (online)