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:
  1. Have experience in, and be comfortable with, programming large programs (~3,000 LOC).
  2. Be able to apply problem solving techniques to large programs.
  3. Be familiar with the C++ programming language, including separate compilation and linking of modules.
  4. Be able to do manual memory management (i.e., no garbage collector).
  5. Be familiar with the Linux programming environment (basic commands, compiler, linker, debugger, memory checker, profiler).
  6. 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