C / C++ PROGRAMMING (80741)
CIS054-101Course Outline
Summer 2015 - June 15 to July 23
INSTRUCTOR: Dan McElroy
Dan.McElroy@sjcc.edu
HELP DESK: helpdesk@sjeccd.edu 1-408-270-6411 (Mon-Fri 7:00am to 5:30pm) TEXTBOOK (Required): Problem Solving with C++ 8th Edition, by Walter Savitch - PrenticeHall, ISBN-13: 978-0-13-216273-9 |
|
COURSE OVERVIEW AND OBJECTIVES:
Students
will study C, a general-purpose programming language, which features
brevity of expression, modern control flow and data structures, and a
rich set of operators. Students will also study C++, an object
oriented programming language that is built using the C language as a
base. Students will learn the importance of portability and
efficiency through a variety of programming assignments. This course
includes application programs and/or systems software.
TIME COMMITMENT:
The definition of a college course indicates that 3 hours per week
are expected for each unit of a regular semester course. This computes to 9
hours per week for a regular semester 3-unit course. A 3-hour lab per week should
equate to 1-unit of credit. Two hours of homework for each hour of lecture also
equates to 1-unit of credit. A full-time student taking 12 units should expect
to spend 36 hours per week during a regular semester.
A summer session course compresses a full semester into 6 weeks. A student then should plan on spending about 27 hours per week for a 3-unit course.
The time commitment should be the same for an on-campus course and an online
course.
STUDENT LEARNING OUTCOMES:
1. Analyze simple and complex programming problems and develop software
solutions.
2. Create console-based programs using structured programming techniques including
sequence, selection, and repetition.
3. Organize a solution to a large program by breaking the program into smaller
parts.
4. Manipulate data using strings and single or multi-dimensional arrays.
5. Construct programs using object oriented programming (OOP) techniques.
6. Create programs that use sequential and random access files.
------------------------- LECTURE CONTENT -----------------------------
1. Algorithmic Design and Testing |
10. Arrays and Pointers |
----------------------------- LAB CONTENT
----------------------------------
1. Using arithmetic and arithmetic-assignment operators
2.
Utilizing relational and logical operators
3. Counting loops and
sentinel value loops to terminate data input
4. Using functions
and sub procedures
5. Processing data using arrays and pointers
6. Manipulating character strings
7. Constructing Object
Oriented Programs (OOP)
8. Reading and writing sequential and
random access files
9. Utilizing debugging techniques
LAB ASSIGNMENTS:
Some of the lab assignments will take longer
than other labs. It is expected that each student will make use of the Open-Lab
time to complete assignments as needed. Open-Lab hours are made available to
students registered in CIS courses. Instructions will be given after the first
week on how to use the open lab.
LAB REPORTS:
Programs turned in must include printouts
of both the program and the results of testing the program. Programs will be
graded on whether they work, quality of output, program readability and appearance,
program construction and completeness of testing, and very importantly - documentation.
A lab report form is available on Moodle.
Each lab report must include:
1. Your name, class, and date
2. A written description of the lab project in English
3. A list of inputs, processing and outputs for each program
4. Test data values, expected results and actual results when the program runs
5. A discussion of what you did to make the program run and any problems you
encountered
6. A screen shot of the program execution
7. The listing of the program (code for the program)
SOFTWARE REQUIREMENTS AND ACCESS TO SJCC
COMPUTER LABS:
The C and C++ programming languages are
used to develop programs on a variety of operating systems, such as Microsoft
Windows, Apple Macintosh, Linux and others. Students need access to a computer
that has a C/C++ compiler and an editor or software development system such
as Microsoft Visual Studio, Apple Macintosh Xcode, NetBeans, DevCpp, Eclipse,
CodeBlocks, etc.
San Jose City College has many computer labs on campus. The labs used by the CIS and CA departments have all of the software installed that you will need to complete the class assignments. Most of the other labs on campus will have Microsoft Office installed, but may not have a software programming development system installed. You need to be an SJCC registered student to use the computers in the Library. You may need to be registered for tutoring to use the LRC labs. Other labs serve different departments on campus. You may need to be registered in one of their classes to use their labs.
MOODLE:
The class webpage on Moodle contains
class notes, links to videos, PowerPoint slides, class announcements, the course
syllabus, test dates, and other information for the course. All assignments
must be submitted using Moodle. The assignments must have your name, student
ID, and exercise name at the top of the document. Late assignments will be accepted
with a penalty. Make sure you can login to your Moodle account the first day
of class. If you are adding the class, your MyWeb enrollment will be reflected
at the next Moodle update. Student course enrollment is updated on Moodle 3
times a day - 6-7AM, 12Noon-1PM and 5-6PM.
Your eight-character Moodle login ID is the same as for MyWeb and is built from the first two letters of your first name, the first two letters of your last name, and the last four digits of your SJCC student ID number. For example, if my name is Dan McElroy and my student ID is 1234567, my Moodle login would be damc4567.
The default password is changeme and must be changed the first time you login. Your password must contain at least six characters, at lease one lower-case character, at least one uppercase character and at least one number. Your password for Moodle can be different from the password on MyWeb.
Additional information can be viewed at http://www.sjeccd.edu/district-services/information-technology-services-support/help-desk
E-MAIL:
All students are required to
obtain an e-mail account in addition to their Moodle account. All correspondence
through Moodle uses the e-mail address that you have listed with the Admissions
and Records office. This includes any messages that I send to the class as well
as scores for each assignment. It is important that you update your e-mail address
if it changes. If you have any questions about the course or need assistance,
please contact me in person or by telephone during office hours or by e-mail
at any time. You can update your e-mail address by clicking the "CLICK
HERE" message on the purple rectangle when you go to the MyWeb page at
http://myweb.sjeccd.edu (NOTE the 'E'
in sjeccd). If you have an e-mail filter for spam, etc., it is your responsibility
to make sure that you are receiving the e-mails that I send you, either from
my college address Dan.McElroy@sjcc.edu, or e-mails sent through Moodle.
Students at San Jose City College are also
given a free .edu e-mail address @stu.sjcc.edu
For example, if my student ID was 1234567 and my MyWeb ID was damc4567,
my e-mail address would be damc4567@stu.sjcc.edu
The initial password starts with Password (with a capital-P) followed
by six digits for the month, day and year of your birth. Example: Password061475
You are not required to used this e-mail address, but you will need it if you
want to download a free version of the Microsoft Visual Studio C++ software.
Additional information can be viewed at http://www.sjeccd.edu/district-services/information-technology-services-support/help-desk
ATTENDANCE AND DROPS:
You are expected to participate in the class
using Moodle each week. Once you have shown some commitment to the class by
attending, participating in quizzes, labs, or homework, I assume that you wish
to be in the class. It is your responsibility to drop the class
if you do not wish to continue. However,
you may be
dropped by the instructor if it appears that you are not participating in the
class by submitting regular course work. If you do not complete the course,
and do not officially drop through the Admissions office and are not dropped
by the instructor, you will receive a grade based on your completed work. Important
dates are listed on the last page of this syllabus.
In other words, if you want to stay in the class, you need to submit work on a regular basis or your may be dropped. If you want to drop the class, you should drop the class by one of the drop dates to make sure it happens for the best result on your transcript.
GRADING:
|
NOTE: You can received a grade of 'C' by completing the quizzes, taking the final and completing only one lab assignment each week.
NO-NAME and LATE PENALTIES:
Updated 5/14/2015, the day before class starts
You must
include your name, student ID or Moodle ID, and exercise name on all
work you submit. Unless otherwise specified in an assignment, your
name, ID and exercise name should appear in the upper right corner of
your lab report or essay. Penalties will be applied AFTER the score
for your assignment has been computed.
Quizzes and Lab Assignments must be completed by 11:55pm by the next class assignment. Due dates are listed on Moodle for each assignment. The last quiz and the lab final are due on July 23. No late assignments will be accepted after July 23, the last day of the summer session.. A late penalty is deducted for each day or part thereof for each day the assignment is late, up to 3 points late penalty. The late penalty is in addition to any other scores the assignment received.
Penalty |
Cause |
1-3 points
|
Late penalty - 1 point for each day or partial day the assignment is late |
1 point |
No name on submitted assignment |
1 point |
No ID on the submitted assignment. Moodle or SJCC student ID is acceptable. |
2 points
|
Missing INPUT / PROCESSING / OUTPUT (HIPO) chart, if part of the lab report |
1-2 points
|
The Project Discussion is missing |
2-4 points
|
Screen shot of executing program is missing, or does not match data entered in the report |
2-4 points
|
The code you used to complete the project is missing |
ACADEMIC DISHONESTY PENALTIES:
You are expected to download your own assignments and DO YOUR OWN
WORK. I have several ways to help me determine if a student is submitting another
person's work. I may not catch every instance of plagiarize work, but I can
catch many. The penalties for Academic Dishonesty far exceed the penalties for
submitting your work late. I strongly suggest that you do not share your work
with other students, or share your disks or flash drives that contain your class
work. Sometimes students have loaned their flash drive to another student and
the second student accidentally submitted the wrong file. Other times the second
student just copied the first student's work and changed the name. If it looks
like work was copied, even if accidentally, the penalties will apply. Don't
take the chance on messing up your grade.
Penalty |
Cause |
zero points on the assignment and your course grade will be lowered |
All or some of your work was created by another student this semester, or a previous semester. |
zero points on the assignment and your course grade will be lowered again. |
Second offense. |
an 'F' in the class |
Third offense. |
CIS 054 COURSE OUTLINE - subject to change - see Moodle for any updates to the class schedule
Week |
Lecture Topic |
Lab Assignment |
Homework and Quiz |
Week 1
Monday Lesson 1 June 15 |
Class Orientation Chapter 1 |
Lab 1.1 Paycheck Program NOTE: I will be on campus Monday and Tuesday the first week of school to help students get started with the lab work and complete the first programming lab assignment. Please e-mail me to arrange a time to meet |
Read chapter 2 - first third Orientation Quiz on Moodle |
Week 1
Wednesday Lesson 2 June 17 |
Chapter 2 |
Lab 2.1 Too Many, Too Few Lab 2.2 Sum of Numbers |
Finish reading chapter 2 Chapter 2 Quiz on Moodle |
Week 1
|
Chapter 3 Chapter 16 |
Lab 3.1 Electric Bill Lab 3.2 Compute PI |
Finish reading chapter 3 Chapter 3 Quiz on Moodle |
Week 2
|
Chapter 4 |
Lab 4.1 Rock Paper Scissors Lab 4.2 Long Distance Call |
Finish reading chapter 4 Chapter 4 Quiz on Moodle |
Week 2
|
Chapter 5 |
Lab 5.1 Fast Food Restaurant Lab 5.2 Pythagorean Theorem |
Finish reading chapter 5 Chapter 5 Quiz on Moodle |
Week 2
|
Chapter 6 |
Lab 6.1 Largest and Smallest Lab 6.2 Median of a Data File |
Finish reading chapter 6 Chapter 6 Quiz on Moodle |
Week 3
|
Chapter 7 |
Lab 7.1 Tic-Tac-Toe Lab 7.2 Delete Repeats |
Finish reading chapter 7 Chapter 7 Quiz on Moodle |
Week 3
|
Chapter 8 |
Lab 8.1 Sentence Formatting Lab 8.2 Array Search |
Finish reading chapter 8 Midterm Exam |
Week 3
Friday July 3 |
INDEPENDENCE DAY
|
HOLIDAY
July 3 & 4 |
No Classes
Campus Closed |
Week 4 |
Chapter 9 |
Lab 9.3 Reservation System, version 2.0 |
Read chapter 10 - first third Chapter 9 Quiz on Moodle |
Week 4 |
Chapter 10 |
Lab 10.1 Student Grading |
Finish reading chapter 10 Chapter 10 Quiz on Moodle |
Week 4 |
Chapter 11 Chapter 14 |
Lab 11 Rational Numbers |
Finish reading chapter 11 Chapter 11 Quiz on Moodle |
Week 5 |
Chapter 15 |
Lab 12.1 Salaried Employee Class |
Finish reading chapter 15 Chapter 15 Quiz on Moodle |
Week 5 |
Chapter 12 Chapter 18 |
Lab 13.1 Movie Ratings |
Finish reading chapter 12 Chapter 18 Quiz on Moodle |
Week 5 |
Chapter 13 |
|
Read chapter 13 Chapter 13 Quiz on Moodle |
Week 6 |
Final Exam - review | Final Exam lab test assigned | |
Week 6 |
FINAL EXAM - Written test |
FINAL EXAM - Lab test |
No more homework No more quizzes |
June 15
|
SUMMER SESSION 2015 BEGINS |
June 17 | LAST DAY TO DROP Summer classes for a refund of eligible fees |
June 21 | LAST DAY TO ADD using add codes on MyWeb |
June 22 |
LAST DAY TO DROP classes without a W |
June 25 |
LAST DAY TO REQUEST a refund of eligible fees (for class(s) dropped by June 17) |
July 3-4 | Independence Day Holiday obsreved - Campus closed |
July 13 | LAST DAY TO DROP classes with a W |
July 23 |
SUMMER SEMESTER 2015 ENDS |
August 5 | Summer 2015 grades available on MyWeb |