Instructor: James R. Glenn, Ph.D.
Office: AKW 013
Office Phone: TBD
Office Hours: Tue 5:30-6:30pm, Wed 12:30-2:30pm, or by appointment
e-mail: [first name][dot][last name]@yale.edu
TF and ULAs: (see Piazza for hours)
- Caleb Malchik (Teaching Fellow)
- Hannah Block
- Fatih Celikbas
- Tom Coile
- Jacob Hillman
- Austin Mills
- Keaton Mueller
- Sanya Nijhawan
- Rishab Ramanathan
- Skyler Robinson
- David Schwartz
- Yi Chern Tan
Class Meeting:
Lecture Tue, Thu 11:35am – 12:50pm in Davies Auditorium
Prerequisites: CPSC 201 or equivalent
Recommended References:
- C in a Nutshell (2nd edition)
by Prinz and Crawford
ISBN 978-1491904756
(retail price $59.99)
- Learning the Unix Operating System (5th edition)
by Peek, Todina, and Strang
ISBN 978-0596002619
(retail price $29.99)
- Unix in a Nutshell (4th edition)
by Arnold Robbins
ISBN 978-0596100292
(retail price $34.95)
- Data Structures Using C
by A.K. Sharma
ISBN 978-8131755662
(ebook price $70.00)
All are available for online reading through the Yale Library, subject to a six simultaneous user limit. You will need to use the Yale
VPN to access from an off-campus network.
Catalog Description:
Topics include programming in C; data structures
(arrays, stacks, queues, lists, trees, heaps, graphs); sorting and searching;
storage allocation and management; data abstraction; programming style;
testing and debugging; writing efficient programs.
Course Outcomes:
Students will be able to
- use, implement, and adapt standard data structures to design
efficient solutions to problems in C on Unix systems
Academic Dishonesty:
Please see Yale College's
Undergraduate Regulations and
Definitions of Plagiarism, Cheating, and Documentation of Sources.
The implications for this course:
- Programming Assignments: The code you submit must be the result of your understanding
of the problem. You may discuss concepts and approaches with other students, but you
may not take any written or electronic records from such discussions
(this includes discussions on Piazza; such discussions are electronic records
so you may not post code there).
Furthermore,
you must engage in a full hour of mind-numbing activity (such as watching back-to-back
episodes of Gilligan's Island) before resuming work. This no-record/"Gilligan's Island" rule
applies to code found in online or other published sources as well
(aside from the class notes and material listed on this page, which can be used
without attribution and without triggering the "Gilligan's Island"
rule).
Under no circumstances may you examine a copy of another student's code nor may you provide
a copy of your code to another student.
You may consult course staff for help writing and debugging without attribution and doing
so does not trigger the Gilligan's Island rule.
(The Gilligan's Island rule originated with
Stanley Eisenstat and I obtained it through Stephen Slade.)
- Exams: each student must work individually.
Grading:
- Programming Assignments: 70%
- In-Class Exams: 15% each (Thu. Oct. 11 and Thu. Dec. 6)
Schedule (subject to change):
Week of |
Topics |
Reading C = C in a Nutshell,
LU = Learning the Unix Operating System,
UN = Unix in a Nutshell,
DS = Data Structures in C,
A = CPSC 223 Notes from Prof. Aspnes
|
Events |
Mon |
Tue |
Wed |
Thu |
Fri |
In-class Exams:
- Thursday, October 11th during the regular class period in DAVIES AUD
- Thursday, December 6th during the regular class period (location TBD)