Computer Science 240
Advanced Programming
BYU Computer Science Department
Fall 2007
Welcome to CS 240, Advanced Programming. This page contains information
related to the class such as objectives, policies, schedule,
assignments, and lecture notes.
Prerequisites
In CS 240 we assume that you have previously taken an
introductory programming course in which you learned the basic concepts of
object-oriented programming, and that you have previously taken an introductory
data structures and algorithms course where you learned about linked lists,
binary search trees, hashing, sorting, etc. At BYU-Provo these requirements are
filled by successfully completing CS 142 and CS 235.
Course Objectives
The goal of CS 240 is to help students learn a variety
of computer programming skills that are essential in developing software
systems. Specifically, the objectives of the course are to:
- Have experience in, and be comfortable with, programming large programs (~3,000 LOC).
- Be able to apply problem solving techniques to large programs.
- Be familiar with basic object-oriented design concepts.
- Know and understand basic coding, testing, and debugging strategies for large programs.
- Be familiar with the C++ programming language, including separate compilation and linking of modules.
- Be able to do manual memory management (i.e., no garbage collector).
- Be familiar with the Linux programming environment (basic commands, compiler, linker, debugger, memory checker, profiler).
- Demonstrate the aptitude and work ethic necessary to succeed in computer science.
Instructor
Section 1: 8:00-9:15 am TTh 120 TMCB
Dr. Cory Barker
Email: corybarker@byu.edu
Office: 3372 TMCB
Phone: (801)422-7132
Office Hours: By Appointment
Section 2: 1:35-2:50 pm TTh 120 TMCB
Section 3: 3:00-4:15 pm TTh 120 TMCB
Dr. Ken Rodham
Email: rodham@cs.byu.edu
Office: 3374 TMCB
Phone: (801)422-5498
Office Hours: By Appointment
Class Policies
Class Schedule
Teaching Assistants
Linux Tutorial
Make Tutorial
Programming Projects
Programming Resources
Ken
Rodham