|
CIS -
Computer Information Systems CS
- Computer Science CMEM
- Communications Electronic Media BIS - Business
Information Systems MATH - Computing EET - Electrical Engineering/ Electronics Technology |
SYLLABUS |
CIS-205
ONLINE C/C++ Programming I Fall
2003 - 3 cr - Dr. Kelley Combs
Bldg. CB-301 Fall
Term: Syllabus - Schedule And Assignments |
|
Course
Description: |
CIS-205
Fundamentals of C/C++ Programming (3 cr). Pre-requisites: A grade of C or higher in CIS 200, CS 170, or MATH 170;
and a grade of C or higher in any one course from MATH 152, MATH 174, or MATH
175. This course builds a strong
foundation in programming concepts with hands-on programming applications in
C and C++. It uses a steady
progression of hands-on programming exercises to teach analytical and
quantitative problem solving, methodical program development, and modular
design. The first course in a two-part
programming sequence with CIS 305. |
|
|
|
|
Course
Prerequisites: |
Pre-requisites are
STRICTLY ENFORCED. Students must provide written
documentation to the instructor before the end of the second week of classes
that they meet the minimum pre-requisites for enrollment in the class. Students who fail to provide written documentation
to the instructor by the end of the second week of classes that they have
previously completed the pre-requisites for this class with passing grades
(minimum grade of C) will not have any work graded and will be assigned an automatic failing grade of “E” for
the course for the semester. The minimum catalog course prerequisites
for CIS-205 are: 1. a passing grade (C
minimum) in MATH/CS-170 Introduction to Algorithms (3 cr.), OR CIS 200 AND 2. a
passing grade (C minimum) in MATH-152 College Algebra (3 cr.) OR MATH-174
Pre-Calculus OR MATH-175 Calculus I. Students with fractured
preparation in any of the pre-requisite courses are advised to repeat the
pre-requisite courses before attempting this class. Good study habits, strong
keyboard, mouse, and computer disk file administration skills are also needed
for success in this course. Because of its hands-on nature, this course is
very time consuming. Students are advised to treat
this course as a “4 credit hour” course like MATH 175 or PHYS 231 for
purposes of semester course load and work-week planning. Students are also
advised not to attempt any outside employment if taking 12 or more credit
hours this semester. |
|
|
|
|
IDEA Course Design Objectives |
This
course is designed within the IDEA course design and evaluation framework. This course was specifically designed to
serve as the first semester of a one-year a foundational course for students seeking to develop
professional programming skills needed for entry-level employment as a
computer programmer. The corresponding IDEA course evaluation form
“Progress On” objective is stated in the IDEA form as: Primary IDEA Design Objective: “24. Developing specific skills,
competencies, and points of view needed by professionals in the field most
closely related to this course.” (i.e. computer programming) Secondary IDEA Design Objectives: “21. Gaining factual knowledge
(terminology, classifications, methods, trends).” “22. Learning fundamental
principles, generalizations, or theories.” |
|
|
|
|
Course
Objectives: |
Course objectives
are mastered to the global ABET
accreditation standards for degree programs in Information Systems and
Computer Science and the AACSB
International accreditation standards. ABET 2003-2004 Global Information
Systems Degree Standards:
ABET 2003-2004 Global Computer
Science Degree Standards:
AACSB International Standards: “The school
has academic standards and retention practices that produce high quality
graduates. [ …] Higher education is
more than informational, it is transformational. Beyond the learning
of facts and techniques, true learning brings new perspectives to students.
That is, they not only can see different things, they can also see things
differently. To generate transformational learning both intensive and
extensive learning experiences must take place, and that demands the
investment of significant time in learning experiences. That time
includes contact between students and faculty members, contact among
students, and individual and personal engagement of students in learning and
applying knowledge and skills.” What all this means to you the student: Coursework
within ABET and AACSB standards encourage a stronger education for you, and
so help you obtain higher-paying jobs upon graduation. Students at the end of
this course must be able to document that they have developed basic
proficiency with the following: 1.
Mastery of some of the key thinking modes and language constructs of a modern
programming language as needed for
entry-level employment as a professional computer programmer, as follows:
variable declaration, if/else and ?: selection and decision making,
for/do/while repetition, try/catch/finally error trapping, passing and
returning parameters by value and by reference, array manipulations,
pre-processor directives, class and structure declarations, module reuse,
disk file administration, and runtime parameter input and output. 2. The ability to devise
and execute multiple-step solutions to basic quantitative word and math
problems with the aid of a computer program written in a modern programming
language. 3. Successfully write
150+ line computer programs that compile cleanly with a compiler and
operating system of the student’s choice, accepts input from the user and/or
a disk file, processes the input information, and outputs the result after
some meaningful processing. |
|
|
|
|
Course
Syllabus and Schedule on the Internet and Blackboard: |
The
CIS-205 Course Syllabus and Course Schedule of Assignments are posted on the
internet and available on the 24 x 7 and without a password at: http://www.onclick.com/cis205/ The same course Syllabus
and Schedule (but not the tests and discussion boards) are also available on
MSU's Blackboard website, accessible with a password from: http://online.moreheadstate.edu/ The course Schedule and
Assignments is posted on the internet for the student's convenience and is
enhanced and updated frequently. It is the student's responsibility to check
for changes to the Course Schedule. The instructor will notify the students
of any changes to the Syllabus. |
|
|
|
|
Instructor: |
Prof. Dr.
George Kelley Ph.D., Postdoctoral, California
Institute of Technology, Ph.D., Texas A
& M University; . eMail: g.kelley@moreheadstate.edu, phone:
+1-606-783-9358, fax/msgs: +1-309-210-1666, mailing address: 320-C
Combs Bldg. MSU, |
|
|
|
|
Required
Textbook and Materials: |
1.
Textbook: Brief Version of Starting
Out With C++ by Tony Gaddis. Third Edition, © 2001 Scott/Jones
Publishing, ISBN
1-57676-065-0. 2. A
Blackboard login with your preferred email address: http://online.moreheadstate.edu/ The
Blackboard course site and discussion boards and weblogs are your primary
means of interaction with the instructor and your peers. 3. A
compiler of your choice. You are responsible for the installation,
configuration, and troubleshooting of your chosen compiler and of your IDE
front-end (if you choose to use an IDE). Remember, you will receive NO POINTS
for programming projects that do not compile. Some other examples of compiler
and IDE options are: Recommended Compilers: Both of the following are simple, easy to use, incredibly fast, run on any OS version, and are free! When
installing, don’t forget to read the readme.txt’s! a. For Windows folks, the Free! Professional File Editor (PFE32) together with the
Free! Borland compiler http://www.borland.com/bcppbuilder/freecompiler/
b. For
*nix folks, the built-in vi and gcc. If your
choice of compiler/IDE is MS-Visual.NET, consider an inexpensive
academic license version. Note
also Visual.NET requires Windows 2000 or Windows XP Professional. Visual.NET will not install on Win95,
Win98, or Windows XP Home Edition. Upgrades
are available, shop aggressively for good pricing. 4. Download
the Student Files for the Gaddis chapters. The reading is more fun if you type along
as you read! 5. A USB
thumb-drive (64-128-256+ MB) or intelligent
stick (64-128 MB) is highly recommended. Thumb drives make it fast and
easy for you to tote your code and all your coursework files around with you
from the classroom to the lab and your laptop or office PC. Thumb-drives have made floppy disks, zip
drives, recordable CD-R’s, and re-writable CD-RW’s obsolete. They are fast
and inexpensive ($19.99 – $59.99), can be purchased for example at Wal-Mart in Morehead, or from tigerdirect.com online, and require
only access to a USB port. A $10
after-purchase rebate coupon is available free here. 6.
Students are encouraged to bring their laptops to the classroom. Those on financial aid should inquire at
the Financial Aid office about their eligibility for additional funding to
purchase a laptop. 7.
Students will have access to Visual.NET in Combs 303, |
|
|
|
|
Study Groups, Online Discussion
Board Participation, and Tutoring |
You are
encouraged to join and meet regularly with a small (2 or 3 person) study
group. Our
online discussion boards do help you develop a sense of participation and
belonging, so do participate actively and frequently in the discussion
boards! MSU’s
Academic Outreach And Support offers free
tutoring in CIS 205, inquire at their offices, 208 Allie Young, (606)
783-5200, Monday - Thursday There is
also a free CIS200/CIS205 tutor available in CB-303, hours will be posted. |
|
|
|
|
Graded
Assignments: |
A total of 2000 points is available, as follows:
Notice: Hands-On Programming Mini-Projects
(Items 3-8) that do not compile and execute successfully will receive no points. Notice:
‘blogging entries may be short but must clearly and specifically name
the course activities you addressed during your study session. To encourage daily study, students who fail
to make a minimum of 5 ‘blog entries (Item 9) on 5 different days of the week
of any one week ‘blogging week will receive no points for the week, and will
be penalized by the loss of an additional 10 points for the week. |
|
|
|
|
Grading
Breakdown |
Grades
are based on Total Points: A 90.0+% (1800-2000 points), B 80.0+% (1600-1799 points), C 70.0+% (1400-1599 points), D 60.0+%
(1200-1399 points), E less than 60.0% (below 1200 points). |
|
|
|
|
Fun
Factor and Term Workload |
To be successful in this
class, you must set aside regular blocks of dedicated study time and
programming practice all through the week.
Working regularly with a friend or a small study
group is also recommended. Programming and
especially learning to program can be very time consuming. Try not be easily discouraged. Just keep in mind that time consuming is
not the same as difficult.
However, programming does require a lot of quiet patience, and you
must enjoy thinking in rather abstract terms and with clarity and great
precision about the complex things and processes and concepts you seek to
implement in code. This course is designed
for students with quantitative, mathematical, and technical inclinations (CIS
option students within the BBA degree, CS students seeking the B.S. degree in
the Math department, and EET/IET students seeking a technical BS). If you learn in the end that spending hours
on end fishing stray semi-colons out of your source code is not for you,
that's a legitimate discovery also. It's OK to be you. Instead, try exploring
other types of degree programs that offer for example more people contact,
physical action, or visual content. |
|
|
|
|
Attendance
Policy: |
Ours is an internet
class with classroom instructor support. This means your attendance in the
classroom is sought and encouraged but not required. You are responsible for
all the material and
are held accountable for any last-minute changes made by the instructor as
well as timely and complete submission of all work whether or not you attend
or skip class. |
|
|
|
|
Late
Work Policy: |
Late work
will be penalized 20% per day regardless of the fraction of the day late. You
are always free to turn in work EARLY for full credit. Students who submit
work EARLY are often offered feedback from the instructor for resubmission
for a better point total by the deadline. Always turn in what little you may
have ready by the deadline, or suffer a 20% penalty per day or fraction. |
|
|
|
|
Extra
Credit, Exigencies, and Make Up Policy: |
Extra
credit and make-up work are not available. The instructor reserves the right
to make changes to this syllabus to meet unanticipated exigencies and the
overall objectives of the course. |
|
|
|
|
Example
Related Internet Resources: Explore, have fun! |
1.
Textbook internet support sites: http://www.gaddisbooks.com/brief3rd/ http://www.gaddisbooks.com/brief3rd/Corrections/corrections.html http://www.gaddisbooks.com/brief3rd/FAQs/faqs.html 2.
MS-Visual C++ Object Depositories (see http://www.codeguru.com/) button
control 3.
Internet Search Engines: (great to solve intractable compiler errors) http://www.google.com/, http://www.askjeeves.com/, dir.yahoo.com
4. The ASCII Character Set Table 5. Global Unicode - http://www.unicode.org/ 6. Global Standards Entities: IEEE, ISO, ITU, ANSI, DIN, 7. Popular and helpful
C/C++ Newsgroups: C FAQ
and C++ FAQ 8. C++/C# Library
Depositories: http://www.experts-exchange.com/Programming/Programming_Languages/Cplusplus/ http://www.codeguru.com/cpp_managed/index.shtml http://www.planet-source-code.com/ 9. Programming Online
Tutorial Directories: http://www.cprogramming.com/tutorial.html,
tutorials.beginners.co.uk, http://www.cprogramming.com, Angelfire.com, Tripod.com 10. Free Windows Borland
C/C++ compiler, free
TenDRA C/C++ Compiler, Most Unix systems come with a free C/C++ compiler
already installed as part of the Operating System. 11. Online C/C++
Beginner's Resources: Why
Learn C/C++/OOP?, Learn
C in 5 hours, Beginner's
C, Intro
to C, C
Essentials, Easy Embedded C, Intro to C++, Fundamentals of C++,
Basic C++, Intro
to OOP w/ C++ , 12. Programmer's Groups
(Join!) The Association of C and C++ Users
13. Programmer's
Periodicals: C/C++
User's Journal, Dr. Dobb's Journal, http://www.cprogramming.com/ 14. Online Technology Job
Listings: http://www.elance.com/, http://careers.kentucky.com http://www.kentuckyjobs.com/, http://www.monster.com/, http://www.headhunter.net, http://onlinenewspapers.com/, http://www.computerwork.com/, http://www.computerjobs.com/, Online Kentucky Newspapers
|