COP 3503 Computer Programming Fundamentals for CISE Majors 2 - Dr. Nemo's page
Syllabus updated 5/14/14
Official Class Web Page has projects, discussion section slides, etc.
TA's Web Page has discussion section slides, lab exercises, etc.
Summer 2014 Tentative Schedule
Summer 2014 Assignments has projects and homeworks.
Slides is regular lecture slides.
Instructor: R. Newman
nemo@cise.ufl.edu
Announcements
Exam 2 is hereby OPEN BOOK, OPEN NOTES.
Solution Key
to
Exam 1
is posted.
Project 4 due date is pushed back one day to Wednesday.
You may turn it in early (original due date) for 3 bonus points.
EXAM 2 is FRIDAY 8/8/14 in class.
It is closed book but open notes.
Coverage is listed in
exam2_sections.txt.
Again, I strongly encourage you to study the material
with a group of 2-3 other students.
Ask each other questions, discuss answers,
propose problems, discuss solutions.
I have posted a main() to test sets with templates that works with
multisets of types int, char, string, and double. It is in
testP4main2.cpp source.
Working on one to test class hierarchy.
I have changed the testP4main.cpp file to comment out the commands
that use functions that are not required for project 4 (you may
or may not want to uncomment some or all of these to use for your
own testing).
Note that not every overloaded function is tested either, so your
testing will have to check these (e.g., all the augmented
assignment operators).
You may use input files from projects 1 and 2 as (some) inputs for
project 4.
I have posted a main() to test sets with templates that works with
sets of types int, char, string, and double. It is in
testP4main.cpp source.
Working on one for multisets also, and to test class hierarchy.
Take a look at
fraction.cpp source
for working code with overloading, including stream output.
Added inventory files and recipes in
Project 3 input files directory
Look at
Description of restricted file formats
for Project 3. I have removed the necessity of handling fractions, and restricted the input so that you do not have to handle arbitrary text all over the place, or arbitrary orders in some cases. If you have already handled fractions, or if you handle the full RBML, you will get extra credit to the extent that you do it.
Lab Thursday will be on using TinyXML2 and parsing - no assignment to turn in so attendance is optional - you may work on your project during lab. We are there to help!
Note: inventory list files will also be RBML, but only have an ingredient list and/or equipment items
Note: Dates may be listed as YY.MM.DD.
- Reading - Chapter 15
- Reading - Chapter 14
- Reading - Chapter 13
- You may use a third party XML parser for Project 3, for example,
TinyXML or
TinyXML2,
but you will have to do the setup for it.
- Reading - Templates Chapter 16
- Reading - Generic Algorithms Chapter 10
- Project 3 is due Tues 7/15/14.
- Reading - Chapter 9
- Instructions for Exam 1 are available for review.
- NOTICE: thanks to the alertness of a student, I have
corrected the example interaction file so that insert
prints out the NEW total count after insertion, rather
than the count associated with the insertion alone.
For example, if (foo, 4) is in the current multiset,
the command to insert (foo, 3) should not only result
in (foo, 7) as the modified element, but unless silent
should print
"Item foo inserted with count 7"
to the console.
- EXAM 1 is FRIDAY 6/20/14 in class.
It is closed book but open notes.
Coverage is listed in
exam1_sections.txt,
and I strongly encourage you to study the material
with a group of 2-3 other students.
Ask each other questions, discuss answers,
propose problems, discuss solutions.
- I have posted in
Project 2 Rubrics
Note that your project MUST be appropriately split into
separate header, class implementation, and main files,
and that you MUST submit a makefile that makes the project
as specified on the CISE host thunder.
- I have posted in
src/streams,
a couple of source files showing cin and file processing
using getline.
The typescript file shows fstreamtest.cpp in action on
the input.txt file.
Enjoy.
- I have posted
streamtest.cpp ,
a little program showing how to get two inputs
off of a line from cin
using getline() and string stream input
- An example file showing expected operation of Project 2 is
proj2_example.txt
- Note that your code must be in at least three separate
files (header, implementation, and application), and
MUST compile, link, and run on the
CISE Ubuntu machines.
You may gain remote access to the CISE machines by
downloading and running putty. Refer to
CISE Remote Access Info for more details.
CISE Resource List gives information on available hosts.
- Project 2 is due Tuesday 6/17/14. See Assignments or Sakai.
- Reading - Chapter 7 - for Wed 6/11/14
- Reading - Chapter 6
- Reading - Chapter 5
- Reading - Chapter 4
- Examples of README, REPORT, and MAN are given in the
src directory for the prime_test program
Do note that the file names do not follow the convention required
for project 1 submission.
For some reason, the
README file is not showing up in the directory listing, but
it is there.
- An example file showing expected operation of Project 1 is
proj1_example.txt
The text under [f1] is the contents of file f1,
and the text under [f2] is the contents of file f2.
The copy of the interaction was made using the script utility
(enter man script for more info).
- An example file showing simple file I/O is
fileIODemo.cpp
which you may compile using g++ fileIODemo.cpp -o fileIODemo and run.
You may use
input.txt for input without newline
at end, and
input2.txt for input with newline
at end.
You can use cat to see the difference.
- Project 1 is due Tues >>> 5/27/14<<<.
- Reading is from Lippman, Lajoie, and Moo 5/e (required text) - the table of contents may be viewed at http://www.amazon.com/Primer-5th-Edition-Stanley-Lippman/dp/0321714113 and Amazon rents a copy for $22.
- Project 1 is released. See Sakai.
- Reading - Chapter 8 for Wednesday 5/21
- Reading - Chapters 1-3 (should be pretty familiar) for Monday 5/19
- Project 1 should be released Saturday. It will be due Tues 5/27/14.
- Joel's office hours will be held in CSE-E113 since E109 is under construction. He will have office hours M 4-6 and T 10-12 (assuming it all works out)
- Be sure to complete your HW1 assignment if you have not already done so
- Attend your assigned discussion section on Thursday - all discussion
sections will have graded exercises
- Download and install a C++ compiler or development environment of your
choice.
- Please read ahead in the book according to the
Spring 2014 Tentative Schedule -
there may be pop quizzes on assigned reading
or on material covered in class
Links
- Java to C++ Transition Tutorial from Brown U.
- Sakai has all assignments and assessments - check regularly.
- Tsunanet style guide is one of several useful guides for good programming style. Find one and use it. We will let you know if your choice is too far off the beaten path.
System Staff