Updated 09.28.08

FIRST DAY OF CLASS

MATERIALS

CSE 1320-002

Intermediate Programming

Fall 2008

TTh 2:00 – 3:20pm

229 Nedderman Hall

Instructor : Mr. Ray Springston

Department of Computer Science and Engineering

The University of Texas at Arlington

August 26, 2008

The University of Texas at Arlington supports a variety of student success programs to help you connect with the University and achieve academic success. They include learning assistance, developmental education, advising and mentoring, admission and transition, and federally funded programs. Students requiring assistance academically, personally, or socially should contact the Office of Student Success Programs at 817-272-6107 for more information and appropriate referrals.

You may be entitled to know what information UT Arlington (UTA) collects concerning you. You may review and have UTA correct this information according to procedures set forth in UT System BPM #32. The law is found in sections 552.021, 552.023 and 559.004 of the Texas Government Code.

Copyright 2008 [Ray Springston] as to this syllabus and all lectures. Students are prohibited from selling (or being paid for taking) notes during this course to or by any person or commercial firm without the express written permission of the professor teaching this course.

CLASS POLICIES

CSE 1320-002 “Intermediate Programming”

TTh 2:00 – 3:20pm -- 229 Nedderman Hall

Fall 2008

Updated 09.03.08

Instructor: Ray Springston 324 NH 817-272-3611 Email:

Web: http://ranger.uta.edu/~springst

TA: Mirza Elahi 239 NH no phone Email:

Office hours: Ray-- M 1:00 – 4:00

T Th 3:30 - 5:00

Mirza-- T Th 12:00 - 2:00

Course Prerequisites: MATH 1323 and one of the following:

(1) CSE 1310 (“Introduction to Computers and Programming”)

(2) a passing grade on the CSE 1310 exit exam

Course Corequisite: CSE 1105 (if majoring in a degree offered by the CSE department)

Required Text: Foster, “C By Discovery”, Scott-Jones, Inc. (4th Ed., ISBN: 1-57676-170-3)

Grading Policy: Homeworks 40% (4 at 6, 8, 12, and 14 points)

Pop quizzes 9% (3 at 3 points each)

Exam 1 15%

Exam 2 17%

Final 19% (comprehensive)

---------

Total 100%

Course Objectives and Outcomes:

Objectives of this course include :

(1) continued development of the students’ capabilities in programming using advanced features of C consistent with software

engineering principles

(2) a basic introduction to object-oriented programming using C++

(3) a continued emphasis on the need for professional and ethical behavior

Outcomes of this course include:

(1) the ability to apply structured top-down design software engineering techniques to the analysis and procedural design of

moderately complex computer programming problems in the C and C++ programming languages

(2) a continued appreciation of the need for professional and ethical behavior

Achievement of these outcomes will be assessed by

(1) the production of solutions to assignments requiring the use of arrays, pointers, structures, unions, composition and

C++ classes and objects an individual effort basis

(2) individual performance on all exams and quizzes

(3) earning a passing grade (A, B or C) in the course

Assignments:

Each homework assignment and any associated input file(s) will be posted on the instructor’s web site after class on the day it is scheduled to be assigned. Notice of same will be e-mailed to each student’s UTA email account (as listed on MyMav) after the assignment is posted. Each homework code solution must compile and run using the “gcc” (or “g++” compiler, depending on the assignment) on omega, and produce output which demonstrates that the program executes as required. A hard (paper) copy of a script session of the code files and solution is to be submitted in class on the due time. In addition, an electronic copy of each of the source code files created for the solution is to be emailed to the instructor on or before the due date. Late submittals will not be accepted, but partial credit is given for partial solutions; therefore, be sure to turn in whatever has been accomplished, running or not. Every source code file should meet certain minimum requirements, as listed in the “Programming Style Guide” (ref. to the class website).

IMPORTANT: Each student’s source code file must have its own file header that includes the name of the enrolled student who wrote the code for the assignment; otherwise, no student will receive credit for this solution to the assignment.

Each text (reading) assignment should be completed before the date it is scheduled to be covered in class.

Plan to allow 10-20 hours per week on each homework assignment. This may vary with each individual depending on previous exposure and expertise with the C and C++ languages. Make good use of the help available from the GTA and the instructor.

Quizzes:

Pop quizzes will be given in class, based on the lectures and assigned material. No make-up quizzes will be given.

Exams:

All exams are mandatory. Material covered in the exams will be based on the assigned chapters and class lectures. There will be NO makeup exams after the scheduled time. If a student notifies the instructor in advance, then an early make-up exam may be arranged. Any decisions regarding make-up exams will be made at the discretion of the instructor, whose decision is final. The final exams will be kept by the instructor.

Attendance/Drop Policy:

Each student is expected to attend every class meeting and may be called upon in class to answer questions posed by the instructor. No student will be dropped by the instructor for failure to attend class or for excessive absences; however, exposure to the explanations of the material is useful for understanding of the material. Therefore, make it a point to come to class early and be ready to start when the roll is called.

Note #1: Semester grades will be available on MyMav after the Registrar has completed processing the semester grade reports.

Note #2: Resubmittal of an assignment due to scoring errors is limited to 7 calendar days after it is returned Every assignment so resubmitted is subject to an entire regrade and must be turned in complete, to the instructor (exams and quizzes) or GTA (homeworks) no later than 5:00pm on the 7th day. Papers will not be reevaluated in the classroom.

Note #3: If you require accommodation based on disability, I would like to meet with you in the privacy of my office during the first week of the semester to ensure that you are appropriately accommodated.

Note #4: These materials are also available on the class website as they are updated.

Note #5: Violators of the ethics code specified in the Statement of Ethics will be reported to the proper authorities. The penalty for each student involved in such a violation will be twice the weight of the assignment.

Note #6: Laptops are not to be used in class.

Class Lectures and Assignments Schedule (Syllabus)

CSE 1320 – 002 (“Intermediate Programming”)

TTh 2:00 – 3:20pm – 229 Nedderman Hall

Fall 2008

Instructor – Ray Springston

Updated: 09.17.08

NOTE: This syllabus is subject to change. Changes after class begins will be posted to the web version only.

DOW DOM Class Activities Assignments Due Readings

T Aug. 26 Roll Call

Class Handouts

Using unix

Getting Started Ch. 1

Identifiers in ANSI C App. A

Keywords in C App. B

Gaining Control Ch. 2

Th Aug. 28 Basic Data Types Ch. 3

Declarations in C App. C Preprocessor Facilities Ch. 11

The C Preprocessor App. G

M Sept. 1 LABOR DAY HOLIDAY

T Sept. 2 Arrays and Pointers Ch. 4

Th Sept. 4 Arrays and Pointers (cont) Ch. 4

HW 1 assigned (C: arrays and pointers) (2 ½ weeks)

T Sept. 9 Arrays and Pointers (cont) Ch. 4

Multi-dimensional Arrays and Ch. 9

Multi-Indirection

W Sept. 10 CENSUS DATE

Th Sept. 11 Strings Ch. 5

T Sept. 16 Keeping Control Ch. 6

Recursion Ch. 6

Th Sept. 18 Review for Exam #1 HW #1 due

T Sept. 23 EXAM #1 (emphasizing Ch’s 4 – 6, 9, 11 and HW #1) (229 NH)

Updated: 08.27.08

DOW DOM Class Activities Assignments Due Readings

Th Sept. 25 (no class)

T Sept. 30 Exam #1 returned

Review of Exam #1

Bit Fields Ch. 7

Enumerated Data Types Ch. 7

Unions Ch. 7

Embedded Objects Ch. 7

HW #2 assigned (C: recursion, structures, file I/O) (3 weeks)

Th Oct. 2 Intraprogram Communication Ch. 8

Command-line Parameters Ch. 9

FILE * parameters Ch. 10

Passing FILE * parameters Ch. 10

File I/O functions Ch. 10

T Oct. 7 Character Input and Output Ch. 10

String Input and Output Ch. 10

Sequential File Input and Output Ch. 10

Th Oct. 9 Random File Access Ch. 10

Formatted Input and Output Ch. 10

T Oct. 14 Review for Exam #2 HW #2 due

Th Oct. 16 EXAM #2 (emphasizing Ch’s 7 - 11 and HW #2) (229 NH)

T Oct. 21 Exam #2 returned

Review of Exam #2

Dynamic Allocation and De-allocation of Memory Ch. 11

Structures and Pointers Ch. 11

Th Oct. 23 Singly-linked lists Ch. 11

Homework #3 assigned (linked lists) (3 weeks)

T Oct. 28 Singly-linked lists (cont) Ch. 11

Th Oct. 30 Macros Ch. 11

Using Mathematical Functions Ch. 11

Character Manipulation Ch. 11

F Oct. 31 LAST DAY TO DROP

Updated: 08.27.08

DOW DOM Class Activities Assignments Due Readings

T Nov. 4 Software Engineering

Searching and Sorting Techniques

NOTE: The remaining class lectures are also discussed in Ch. 12 of the text and in the C++ notes on the class website:

Th Nov. 6 C++ Libraries C++ notes

C++ Input and Output C++ notes

C++ File Input and Output C++ notes

T Nov. 11 Classes and Objects HW #3 due C++ notes

Homework #4 assigned (C++ classes and objects) (2 ½ weeks)

Th Nov. 13 Composition and embedded objects C++ notes

T Nov. 18 Composition and embedded pointers (cont) C++ notes

Th Nov. 20 Inheritance C++ notes

T Nov. 25 Advanced Topics (time permitting) HW #4 due C++ notes

Th NOV. 27 THANKSGIVING HOLIDAY

M-F DEC. 1-5 FINAL REVIEW WEEK:

T Dec. 2 Review

Course Evaluations

Th Dec. 4 Last Day of Class

Review

T Dec. 9 FINAL (comprehensive, 2:00 - 4:30 pm)

T Dec. 16 LAST DAY TO POST FINAL GRADES (5:00PM)

Th Dec. 18 GRADES AVAILABLE ON MyMav

omega.uta.edu> script h.log

Script started on Thu 21 Aug 2008 05:17:15 PM CST

[springst@omega ~]$ cat hw0Constants.c

/*****************************************************************************************************************

PROGRAMMER : (your name would go here)

LANGUAGE : C

CLASS : CSE 1320-002, Fall 2008

COMPILER : gcc

OPERATING SYSTEM : UNIX

PLATFORM : OMEGA

COURSE : Intermediate Programming

ASSIGNMENT : Homework #0

ASSIGNED : (the date it was assigned)

DUE : (the date it is due)

FILED AS : hw0Constants.c

FILES USED : hw0Constants.c

Hw0Driver.c

CONCEPTS : control structures

WEIGHT : 6%

PURPOSE : include the required system files

define all global constants used in this assignment

prototype the global functions other than main()

*****************************************************************************************************************/

#include<stdio.h> // to support printf()

#define BASE_VALUE 5 // no type associated with BASE_VALUE

#define ZEROI 0

int F(int); // function prototype

[springst@omega springst] gcc hw0Constants.c

/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../lib64/crt1.o: In function ‘_start’:

(.text+0x20): undefined reference to ‘main’

collect2: ld returned 1 exit status

[springst@omega ~]$ cat hw0Driver.c

/****************************************************************************************************

PROGRAMMER : (your name would go here)

LANGUAGE : C

CLASS : CSE 1320-002, Fall 2008

COMPILER : gcc

OPERATING SYSTEM : UNIX

PLATFORM : OMEGA

COURSE : Intermediate Programming

ASSIGNMENT : Homework #0

ASSIGNED : (the date it was assigned)

DUE : (the date it is due)

FILED AS : hw0Driver.c

FILES USED : hw0Constants.c

Hw0Driver.c

CONCEPTS : control structures

WEIGHT : 6%

PURPOSE : define all functions

****************************************************************************************************/

#include "hw0Constants.c"

int main(void)

{

int A = BASE_VALUE;

printf("%s %d %s %s %s %s %s %s%c\n", "This is line number”, __LINE__,

"of the file", __FILE__,

"which was\n compiled on", __DATE__,

"at time", __TIME__, '.');

printf("%d\n", F(A));

return ZEROI;

}

/****************************************************************************************************

FUNCTION NAME : F

INPUTS : an integer, by value

RETURNS : an integer, by value

PURPOSE : return the incoming argument + 7

***************************************************************************************************/

int F(int X)

{

return (X + 7);

}

[springst@omega ~]$ gcc hw0Driver.c

[springst@omega ~]$ a.out

This is line number 26 of the file hw0Driver.c which was

compiled on Aug 21 2008 at time 17:17:29

12

[springst@omega ~]$ ^d

Example Score Sheet

Smith, John CSE CSE1320-002(20) Dec 16, 2008

Freshman (Currently Enrolled)

HOMEWORK # : H1 H2 H3 H4

MAXIMUM SCORES: 100.00 100.00 100.00 100.00

MAXIMUM WEIGHT: 6.00 8.00 12.00 14.00

ACTUAL SCORES: 90.00 96.00 100.00 100.00

ACTUAL WEIGHT: 5.40 7.68 12.00 14.00

QUIZ # : Q1 Q2 Q3

MAXIMUM SCORES: 10.00 10.00 10.00

MAXIMUM WEIGHT: 3.00 3.00 3.00

ACTUAL SCORES : 4.00 7.00 7.00

ACTUAL WEIGHT : 1.20 2.10 2.10


EXAM # : E1 E2 E3

MAXIMUM SCORES: 100.00 100.00 100.00

MAXIMUM WEIGHT: 15.00 17.00 19.00

ACTUAL SCORES : 74.00 84.00 90.00

ACTUAL WEIGHT : 11.10 14.28 17.10

Maximum possible score: 100.00

Points scored : 86.96 = 86.96%

Potential score (ACTUAL WEIGHTs): 86.96 + (100 - 100.00) = 86.96/100 = 86.96%

These are the scores I have for you. If any of them are incorrect,

please let me know. They include HW 4, QZ 3, and the Final.

The current course average is 75.38%.

Last day to resubmit HOMEWORK #1:

Last day to resubmit HOMEWORK #2:

Last day to resubmit HOMEWORK #3:

Last day to resubmit HOMEWORK #4:

Last day to resubmit QUIZ #1 :

Last day to resubmit QUIZ #2 :

Last day to resubmit QUIZ #3 :

Last day to resubmit EXAM #1 :

Last day to resubmit EXAM #2 :

Semester grades will be based on the "Points scored" percentile.

The last day to drop a class was Friday, October 31, 2008

Semester grades will be based on the percentile figure on this score sheet.

4