Bryn Mawr College
CS 246: Introduction to Computing
Spring 2016
General Information | Syllabus and Schedule | Text and
Software |
Course
Policies |
Reference Links |
Last modified: Mon Apr 25 23:09:24 EDT 2016 Subject to change.
Instructor: | David G. Cooper |
E-Mail: |
dgc@cs.brynmawr.edu
When you e-mail me, make sure you put "CS246" at the start of the subject line to ensure a quicker response. |
Website: | http://cs.brynmawr.edu/Courses/cs246/spring2016/ |
Lecture: |
Tuesdays & Thursdays, 11:25AM - 12:45PM |
Room: | Park 336 |
Lab: | Tuesdays & Thursdays, 10:25AM - 11:25AM, Park 231 (Computer Science Lab) |
|
|
Week | Date | Topic |
Reading Completed |
Projects |
Comments |
---|---|---|---|---|---|
1 |
01/19 |
Lab: Mercurial and
Hello, Graphics! |
|
______________ Note: Corrected version of the lab is now available here along with the Lab Exercise needed for the final part of the lab. |
01/21 |
Lab: Mercurial and
Hello, Graphics! Lecture: Java vs. C++ |
Ch. 1 pgs. 3-24, Ch. 2 pgs 47-55 ______________ |
Lab is due with all files pushed to your repository by Sunday at
midnight. Work from home:
|
2 |
01/26 |
Lab: Unix Commands |
For lab:Pair Programming
______________ Ch. 12 pgs.345-359 |
Start: Project 1 | |
01/28 |
Lab: Unix Commands Lecture: Java vs. C++, Part 3 |
Ch. 3 Coding With Style
|
| ||
3 |
02/02 |
Lab: gdb, Streams, Pipes,
and Redirection | Submit: Project 1 |
|
|
02/04 |
Lab:gdb, Streams, Pipes,
and Redirection |
c++.com : Functions |
Start: Project 2 |
Note: pg. 613 of the book
talks about srand() and rand() for random number generation for
project 2.
|
|
4 |
02/09 |
Lab: prototypes, header files, preprocessor directives, cout, and thg |
Ch. 1 pgs. pgs. 25-30 |
Submit: Project 2 Design (Step 1)
|
|
02/11 |
Lab: prototypes, header files, preprocessor directives, cout, and thg Lecture: Program Design and Testing |
| Submit (Feb 15): Project 2, Initial Implementation (Step 3) |
|
|
5 |
02/16 |
Lab: Make and Makefiles |
|
|
|
02/18 |
Lab: Make and Makefiles |
|
Submit: Project 2, Full Assignment (Step 5)
Start: Project 3 |
|
|
6 |
02/23 |
Community Day of Learning (no class!)
|
|
Submit: Project 3
|
|
02/25 |
Lab: Revision Wars |
OpenCV: |
|
|
|
7 |
03/01 |
Lab: Midterm
Description & emacs tips
|
|
Start: Project 4, Midterm FAQ
|
|
03/03 |
Lab: Midterm Q & A
|
|
|
||
|
03/08 | Spring Break |
|
|
|
03/10 | Spring Break |
|
|
||
8 |
03/15 |
Lab: Midterm Q & A Lecture: Classes and Objects, Writing Large Programs |
Ch. 7 pgs. 143-175
|
|
|
03/17 |
Lab: Midterm Q & A Lecture: Dynamic Memory in Objects |
Ch 8: pgs. 177-197 |
Submit: Project 4, Midterm
|
|
|
9 |
03/22 |
Lab: Conditional Compilation |
Ch. 9: pgs. 217 - 237
| ||
03/24 |
Lab: Conditional Compilation Lecture: Templates and the STL |
Ch. 11: pgs. 315-330 |
|
||
10 |
03/29 |
Lab: Final Project Discussion |
Read ahead for next week. |
|
|
03/31 |
Lab: Final Project Discussion Lecture: Implementing ADT's cont. |
Read ahead for next week
|
Submit: Project 5
Class Code: BinaryNode.h CircList.cpp BinaryTree.h BinaryTree.t |
|
|
11 |
04/05 |
Lab: Generic Linked
List |
Ch 14: pgs. 413-415,423-427 |
Submit: Final Project Proposal Start: Project 6 |
|
04/07 |
Class cancelled
|
Ch 18 pgs. 575-599
|
|
|
|
12 |
04/12 |
Lab: Generic Linked List |
Book:
|
|
|
04/14 |
Lab: Finish Up Lab/Work on Final Project Lecture: Regular Expressions |
|
Submit: Project 6 |
Note: If you haven't chosen a final project. I have created this
option which you must do with a group. Please send me a list of
group members and their responsibilities before class on Tuesday.
|
|
13 |
04/19 |
Lab: Baby Name Regex or
GUI Tutorials |
Book: |
|
|
04/21 |
Lab: (Baby Name Regex and Baby Name Histograms); or
(GUI Tutorials
and
Drawing GUI) |
Book: |
| ||
14 |
04/26 |
Lab: Baby Name Histograms or
Drawing GUI |
Book: |
|
|
04/28 |
Term Project Presentations |
|
Submit: Final Project Skeleton (needs to compile and run) |
|
|
FINALS WEEK |
05/03 |
|
|
Final Projects Due May 7, at 5pm for Seniors and May 13, at
12:30pm for everyone else in a Mercurial
Repository called finalProject |
|
Communication
Attendance and active participation are expected in every class. Participation includes asking questions, contributing answers, proposing ideas, and providing constructive comments.
As you will discover, I am a proponent of two-way communication and
I welcome feedback during the semester about the course. I am
available to answer student questions, listen to concerns, and
talk about any course-related topic (or otherwise!). Come to
office hours! This helps me get to know you. You are welcome to
stop by and chat. There are many more exciting topics to talk
about that we won't have time to cover in-class.
Whenever you e-mail me, be sure to use a meaningful subject line and include the phrase "CS246" at the beginning of that line. Your e-mail will catch my attention and I will respond quicker if you do this. I make an effort to respond to e-mails within 24 hours on weekdays and 48 hours on weekends.
Although computer science work can be intense and solitary, please stay in touch with me, particularly if you feel stuck on a topic or project and can't figure out how to proceed. Often a quick e-mail, phone call or face-to-face conference can reveal solutions to problems and generate renewed creative and scholarly energy. It is essential that you begin projects early, since we will be covering a variety of challenging topics in this course.
Grading
At the end of the semester, final grades will be calculated as a weighted average of all grades according to the following weights:Labs & Class Participation: | 25% |
Predefined Projects: | 35% |
Midterm Project: | 15% |
Final Project: | 25% |
Total: | 100% |
Incomplete grades will be given only for verifiable medical illness or other such dire circumstances.
Submission and Late Policy
All work must be turned in electronically using mercurial and our course directory. The use of mercurial will document the time and date of submission. Extensions will be given only in the case of verifiable medical excuses or other such dire circumstances, if requested in advance and supported by your Academic Dean.Late submissions will receive a penalty of 20% for every 0-24 hours it is past the due date and time (e.g., assignments turned in 25 hrs late will receive a penalty of 40%).
Exams
In lieu of exams this class will have a midterm and a Final Project. The final project will involve integrating an open source project into your project.
Study Groups
We encourage you to discuss the material and work together to understand it. Here are our thoughts on collaborating with other students: