Sei sulla pagina 1di 7

CIS 120 Programming Logic and Design: Course Syllabus

Adriana Wise November 12, 2001

Contact information
1. Instructor: Adriana Wise, Assistant Professor 2. Oce: room 270 F 3. Phone: (718)269-4468 4. e-mail: awise@ny.devry.edu 5. website: http://www.adrianawise.com/ following link to My Students at DeVry

General course information


1. Semester: Winter 2001 2. Oce Hours: Tuesday 3p.m.-4p.m., Wednesday 3p.m.-4p.m., Friday 5p.m.6p.m.(with appointment, preferably) 3. Course Code: CIS 120 (sections N, W) 4. Course Title: Programming Logic and Design

Course description

In this course students are introduced to the basics of programming logic and to algorithm design and development, using owcharts, pseudo-code and the C programming language. Students will learn the basic constructs of programming, including variables, constants, expressions, control structures, functions pointers and arrays, and are introduced to functional, decision-based and iterative processing of data.

3.1

Course objectives

Introduction to Programming The beginning of the course will cover basic C programming concepts, such as variables, variable types, and simple C input/output instructions. This part of the course will cover the 6-step program development process, programming concepts, design tools and methodology, input/output design, GUI programming development environments, and good programming practices. At the end of this part of the course students will have an understanding of the program development process, some basic experience in algorithmic problem-solving and designing simple C programs, and will have designed at least 3 projects that will be implemented using the C/C++ programming languages. Program Implementation Using C This part of the course will introduce students to loops and more complex variable types, such as arrays, structs and unions, which will enable them to make an easy transition to other programming languages from the C family, such as C++, Java, Perl. Some basic data structure concepts will be introduced, depending on the progress of the class. 3.1.1 Topic Sequence:

Module 1: Understanding Programming Program Compilation and Execution Program Statements, Programming Syntax Variables and Data Types C Operators: Arithmetic, Logic and Relational Operators Simple I/O in C; the function main() Module 2: Flowcharts and Pseudocode as Problem-Solving Modeling Tools Structure of a C Program Elements of a Flowchart Writing Pseudocode A Simple C Coding Example Module 3: Structured Programming: Decisions Simple C Decisions. The if-else Structure Writing Logic Expressions Nested if-else The switch-case Structure C Program Examples 2

Module 4: Modular Programming Functions and Modular Programming C Examples of Problem-Solving Using Modules Function Arguments: Variables Passed to Functions Function Return Values: Variables Returned by Functions Function Prototype, Denition and Call Pass-by-Value vs. Pass-by-Reference. Pointers C Programming Examples Module 5: Looping (I) Loops: Problem-Solving Examples Using Loops The while Loop Counters, Control Variables, Loop Exit Conditions C Programming Examples Using the while Loop: Interactive Input, Data File-Reading and Writing Module 6: Looping (II) More Loops: The do-while Loop C Programming Examples Using the do-while Loop Module 7: Looping (III) Iterative Programming: The for Loop Incrementing, Decrementing for Loops C Programming Examples Using the for Loop Module 8: More Complex C Data Types (I) Arrays and Pointers Arrays, Pointers and Computer Memory Array Declaration and Initialization 2-Dimensional and n-Dimensional Arrays Proper Pointer Declaration and Initialization; malloc() and free() C Program Examples Module 9: Programming Project Planning

User-Dened Header Files C Function Libraries File I/O Module 10: Simple Data Structures Unions and Structures Arrays of Structures Passing and Returning Structures Abstract Data Types Problem Solving Using Structures Linked Lists C Program Examples Module 11: Algorithms Search Algorithms (Sequential, Binary Search) Sort Algorithms (Insertion, Selection, File Indexing) C Program Examples Module 12: Object-Oriented Programming I/O in C++ Function Enhancements in C++ Classes Class Constructors and Destructors C++ Program Examples Note: Assignment specications and directions will be given to students as links on my website, for download in either PS, PDF or for viewing in HTML format. There will be exactly six programming assignments, which will be posted online at the proper time. Deadlines will be very strict, as the course material is progressive, and any skipped homework will result in not understanding the next course material. Also, the homework will be discussed in class, and any homework handed in after the class discussion will be graded at half score. Section W Only: Due to the intensive pace of this section, each week will cover two (instead of one) of the twelve modules listed above. The number of assignments will be adjusted to reect this.

4
4.1

Course Materials
Required textbooks:
Farrell, Joyce: A Guide to Programming Logic and Design, Course Technology, ITP, 1999, ISBN 0-7600-1177-X Forouzan, Behrouz A. & Gilberg, Richard F.: A Structured Programming Approach Using C, 2nd edition, Brooks/Cole, 2001, ISBN 0-534-37482-4

4.2

Program development software:

Visual Studio 6.0 IDE (Integrated Development Environment), available in DeVrys computing labs free software alternative: cygwin UNIX compatibility environment for Windows, which includes a UNIX command-line based C/C++ compiler, gcc other compilers for various operating systems (e.g. gcc for UNIX, MPW for MacOS, Borlands C++ Builder 5 Enterprise for Windows) will also be discussed

4.3

Other recommended references:

course handouts programming assignments versions

4.4

Optional bibliography:

Kernighan, Brian & Ritchie, Dennis: The C Programming Language: ANSI C Version, 2nd edition, 272pp., Prentice Hall PTR, Mar. 1989, ISBN 0-131-103-628 Stroustrup, Bjarne: The C++ Programming Language, Special Edition, 3rd edition, 1040pp., Addison Wesley Longman, Inc., Feb. 2000, ISBN: 0-201-700-735 Deitel, Harvey M. & Deitel, Paul J.: C++ How to Program, 2nd edition, 1130pp., Prentice Hall PTR, Dec. 1997, ISBN 0-135-289-106 Prata, Stephen: The Waite Groups C++ Primer Plus, 3rd edition, 1040pp., Sams Publishing, Sep. 1998, ISBN 157-169-1626

5
5.1

Course Policies
General teaching policies:
1. All information is subject to change at the discretion of the instructor, as it will be adapted to the specic pace of instruction of every section of this course. Any changes will be posted on my website: http://www.adrianawise.com/. Please refer to this website on a regular basis for updated information. 2. You are responsible for your education. Your instructor is here to present the instruction materials, and to help you understand them. The assimilation of these materials, as well as the assignment completion and course tests preparation are the result of your individual or team work and are your responsibility. 3. No information presented during the lecture or the lab sessions will be retaught. Please, maintain and review carefully all your course materials. 4. Unless you ask questions during class and/or during oce hours, it is assumed that you understand the course material. 5. Scores will be posted on my website on a regular basis. Privacy and security of your identity and scores on the website will be strictly enforced. It is your responsibility to make sure that your scores have been recorded correctly throughout the semester. 6. Disruptive or disorderly conduct during class will not be tolerated. Listening music online or from portable CD/MP3/cassette player is not tolerated during classes, and will result in the student being invited out of the class. 7. All cooperation in doing the home assignments must be referenced.

5.2

Attendance:

1. Classroom attendance must meet DeVry attendance procedures. There will be occasional pop-quizzes and/or attendance quizzes, which will be recorded. This course will place heavy emphasis on classroom and lab exercises. Points will be recorded for these activities. These activities cannot be made up. 2. Class participation will be a factor in your class grade, and will make the dierence when in doubt between a lower and a higher grade. 3. Attendance in class will be taken via the card swipe system. Please report any technical problem with your card or the swipe system to your instructor. 6

5.3

Methods of evaluation:

1. There will be 2 term written exams (Mid-term and Final), which will contain short questions, small programs to debug and interpret, algorithm design to solve a specic problem, and some C/C++ coding. They will not be open-book exams. Mid-term and nal exams will be announced with a two-week notice, and will be administered at a time, date and location specied by the CIS Department. 2. There will also be 4 quizzes, on a no-notice basis. 3. Assignment deadlines will be tracked and will reect in the assignment grade. Only assignments submitted on or before the deadline qualify for a maximum grade. Lateness will be sanctioned be deducting 20% from the original point value for each additional week, if the homework has not been yet presented in class, or 50% if submitted afterwards. 4. Plagiarism is not admitted, even if team work will be claimed. In such situations, the assignment must reect each participants originality, subject to the instructors approval (e.g. changing variable names does not constitute originality). As mentioned, cooperation must be referenced, otherwise it will be considered plagiarism. 5. Missing the nal exam for any reason will result in: receiving an F grade for the course, unless reasonable proof (medical or any other ocial proof) is presented to the department in order to justify the absence; obligation of re-taking the nal exam by the end of the rst week of the following term; receiving an F if you either did not re-take the nal exam as above or if you failed it;

5.4

Final Grade:

1. F inal Score = 30%Quizzes (including M idterm) + 30%Assignments + 40%F inal 2. When the numeric score resulted from the above algorithm is at the borderline between grades, attendance and class participation will be the deciding factor. 3. The numeric score will be interpreted as follows: Numeric Score 90...100+ 80...89 70...79 60...69 under 60 Grade A B C D F Performance highest performance and all homework on time good performance consistently satisfactory performance most of the time marginal performance, minimal required skills below minimal required skill level 7

Potrebbero piacerti anche