Term and Credits
Summer 2017-2018
3 Credits
Room and Time
Tuesday/Thursday 2:00pm-3:20pm University Crossings Room 149
Instructor
Mark Boady
Electronic Mail Address:
mwb33@drexel.edu
Office: University Crossings 138
Extention: 215-895-2347
Office Hours:
Monday 4-5PM,
Tuesday 12-1PM,
Thursday 12-1PM
Teaching Assistant(s)
Alexander Duff
Electronic Mail Address:
amd435@drexel.edu
Office: Drexel CLC UC 152
Office Hours:Monday 2-4PM, Wednesday 2-4PM
https://www.cs.drexel.edu/clc
Course Description
Introduction to the basic principles of programming practice: testing, debugging, portability, performance, design alternatives, and style. Application in a variety of programming languages, programming environments, and operating systems. Introduction to tools used in the software development process for improving program functionality, performance, and robustness.
Course Objective and Goals
Audience and Purpose within Plan of Study
This is a required sophomore level course for Computer Science students. A graduate version of the course is available as a pre-core course for those students who are not sufficiently comfortable developing, debugging, testing, tuning, and porting programs.
Prerequisites
CS 172 Minimum Grade: D or CS 176 Minimum Grade: D or CS 133 Minimum Grade: D or SE 103 Minimum Grade: D or ECEC 301 Minimum Grade: D
What Students Should Know Prior to this Course
Course Goals:
To provide students with the skills needed to effectively design, develop, implement, debug, test, and maintain programs and more generally to solve problems using a computer. The course will teach these skills through the use of different programming languages, tools, and environments, though the general principles are independent of any particular language, tool, or environment. General themes include clarity, simplicity, generality, and automation.
Textbook
The Practice of Programming
Brian W. Kernighan and Rob Pike
ISBN-13: 978-0201615869
ISBN-10: 020161586X
Buy from Amazon
Lectures
Labs
Homeworks
Quizzes
Exams
Slack Channel
Special Circumstances
Academic Honesty Policy
The CCI Academic Honesty policy is in effect for this course. Please see the policy at http://drexel.edu/cci/resources/current-students/undergraduate/policies/cs-academic-integrity/.
Academic Honesty Violations will be reported to the University. Punishment will be determined by the severity of the incident. Punishments include, but are not limited to,
Grading and Policies
Final grades will be determined by your total points weighted according to this distribution. Grades may be curved but are generally computed via the formula below. It may be modified at the instructor's sole discretion, but letter grades will generally not be lower than those shown here.
Computer/Software Help
iCommons: http://drexel.edu/cci/about/our-facilities/rush-building/iCommons/
University Policies
In addition to the course policies listed on this syllabus, course assignments or course website, the following University policies are in effect:
Topics
Please see the appropriate assignment webpages for a detailed description of course deliverables.
Week | Topic | Reading | Lab/Assignment Due 11:59PM Sunday |
1 (6/25/18) | Intro to the Unix Programming Environment | lab01 | |
2 (7/2/18) | More Unix, Intro to Bash, GIT | lab02 | |
3 (7/9/18) | Bash Scripting | lab03 | |
4 (7/16/18) | Awk, Regular Expressions, git | lab04 | |
5 (7/23/18) | Programming Style and Python | Chapter 1 |
lab05 assn1 |
6 (7/30/18) | Algorithms and Data Structures | Chapter 2 | lab06 |
7 (8/6/18) | Design and Implementation | Chapter 3 |
lab07 assn2 |
8 (8/13/18) | Interfaces and Makefiles | Chapter 4 | lab08 |
9 (8/20/18) | Debugging and Testing | Chapters 5 and 6 | lab09 |
10 (8/27/18) | Performance | Chapters 7 and 8 |
lab10 assn3 |
11 (9/3/18) | Final Exam - Time and Location TBD |