Fall 2013 Syllabus
CSE 1320 Intermediate Programming
UT Arlington
Instructor: Dr. J. Carter M. Tiernan 620 NH x20113 (817-272-0113)
E-mail: tiernan@uta.edu Web: www.uta.edu/faculty/tiernan or
ranger.uta.edu/~tiernan
Class CSE1320 – 003 (89653): TR 12:30 – 1:20pm, NH 109
Office hours: Tues. and Thurs. 2:00 – 4:00 and other times available by appointment
Course Objective:
For students with basic programming skills, this course continues development of the students' capabilities in programming using advanced features of C consistent with software engineering principles. Students successfully completing this course will be able to apply structured, top-down design software engineering techniques to the analysis and procedural design of moderately complex computer programming problems. Moreover students will gain the ability to program in C using aggregate data structures and dynamic memory allocation techniques. Time permitting, students will also be introduced to programming in C++ using objects and will discuss concepts of object-oriented programming.
Catalog Description:
Programming concepts beyond standard control and data structures. Emphasis is given to data structures including linked lists and trees as well as modular design consistent with software engineering principles.
Learning Outcomes:
1. Use a structured programming language to create moderate complexity programs in order to demonstrate facility with various features of program design.
2. Investigate alternate approaches to program control and data structures in order to evaluate appropriate use of each approach.
3. Create programs using a structured programming language in order to solve problems.
Required Prerequisites: CSE 1104, CSE 1105, CSE 1310 (or CSE 1311), and MATH 1323 (or concurrently).
Textbook: Foster and Foster, C By Discovery, Fourth Edition. (Preferred but not required)
Deitel and Deitel, C How to Program, 6th Edition (Good reference)
Schedule: See Dr. Tiernan's website or the end of this syllabus for the list of class topics, the semester schedule and the anticipated exam dates for the class.
Grading:
Labs 46% {5 labs at 6, 10, 10, 10, and 10 percent
– final lab assignment will be due during or after Final Review Week}
Three (3) in-class quizzes 6% {3 at 2 percent each }
Exam I 15%
Exam II 15%
Final Exam 18%
Extra Credit Service Learning 3% {OPTIONAL - see below}
Final grades are calculated using the numeric grades of each item times its percentage of value. The standard 10-point grading scale is used to assign letter grades although the instructor reserves the right to give closely grouped numeric grades the same letter grade by extending the grade ranges. Ex. If there are grades of 92, 90, 89, 88, 83, 82, then the 92, 90, 89, and 88 would be grouped together and receive A’s while the 83 and 82 received B’s. Students may contact the instructor at any time to request information about their current standing in the class.
Attendance: Students are expected to attend class and bring their textbook to use as a reference for examples and other information during the class. Attendance is not recorded after census date but unannounced quizzes will be given and cannot be made up.
Make up exams must be arranged in advance and will be scheduled at the discretion of the instructor.
CHEATING on exams, PLAGIARISM, or COLLUSION will not be tolerated.
Descriptions of major assignments and examinations
Labs:
Every lab assignment will be a computer program written by the student in the C programming language to solve a given problem. Each assignment has a given due date. No late labs will be accepted. (Five minutes late is still late.) Lab assignments will be posted on Blackboard and/or the class website listed at the top of this page. Each lab assignment builds on work done in the previous labs.
The first lab assignment will be offered early in the semester and is designed to help students practice with the basics of C programming (function calls and definitions, input/output, mathematical operations, etc.). All lab assignments are individual effort only.
Lab assignments must be individual effort. The Statement of Ethics you will receive details the definitions of collusion, plagiarism, and academic dishonesty as related to lab assignments in CSE.
All five (5) required labs must be submitted in order to have the possibility of making a grade of A. At least four (4) out of the five (5) required labs must be submitted in order for a student to pass CSE 1320 with a C or better. At least three (3) of the submitted labs must receive passing grades (with no significant errors) in order to pass CSE 1320 with a C or better and at least one of these labs with a passing grade must be the fourth (4th) and/or fifth (5th) lab assignment.
All of the five required lab assignments will be written in C. Time permitting there may be an optional extra credit lab written in C++.
Lab Grading:
Each lab will be graded on a number of factors. Always be sure that a turned in lab compiles on the UTA omega UNIX system under the gcc compiler without warnings or errors even if it is not complete. You will receive partial credit for a working stubbed program. It is your responsibility to completely test your lab assignment PRIOR to submission.
Programs that do not compile successfully (without compiler warnings or errors) will receive zero (0) credit.
Programs that do not execute successfully (without inappropriate termination) will receive zero (0) credit.
This means that ALL choices the user can make when running your code must work properly and ALL inputs (excluding ones the lab instructions say you don't have the deal with) must work properly even if the input value is invalid; for example, a negative value for a month must NOT make your program crash.
Labs that implement some, but not all, of the requirements must compile and run successfully without errors or warnings to receive partial credit. Examples of errors are
Compilation errors - these occur when the program is being compiled and prevent creation of an executable file (a.out)
Compilation warnings - these occur when the program is being compiled, are printed to the screen but still allow the creation of an executable file
Execution errors - these occur once the program has started running and cause the program to terminate in any way other than that defined by the programmer (ex: segmentation fault, divide by zero error, incompatible types, etc.)
See the class website for complete instructions on how to compile and submit lab assignments. See the link labeled “How to submit your 1320 lab”
Additional procedural information on lab assignments may be handed out or made available on the website as required.
There are LOTS of references on the class website to help you write programs. Use them! Note that the “Sticky Bits in C” presentation has some info about how to do debugging. Previous semester web pages have examples of lab assignments.
Quizzes:
Pop quizzes will be given in class and based on the assigned chapters and class lectures. No make-up quizzes will be given.
Exams:
Material covered on the exams will be based on the assigned chapters and class lectures. All exams are mandatory. There are NO make-up exams after the scheduled times. If a student notifies the instructor IN ADVANCE, then an early make-up exam M AY be arranged at the discretion of the instructor. The instructor's decision is final. All exams may be kept by the instructor. Previous semester exams are available at the link on the class web page for old tests.
Service Learning Extra Credit:
This class will offer the opportunity for you to earn up to 3% extra credit for the semester grade by performing some service to the CSE department, the UT Arlington College of Engineering, the University, or the community. The service must be completed and documentation turned in by the Friday BEFORE Dead Week. The service learning credit structure is as follows:
- 4 or more hours of service to the CSE dept. or the College of Engineering, documented by a faculty or staff member, is worth 3%;
- 2 to 4 hours of service to the CSE dept. or the College of Engineering OR 4 or more hours of service to the University, documented by a faculty or staff member, is worth 2%;
- 2 to 4 hours of service to the University, documented by a faculty or staff member OR 4 or more hours of service to the community documented by a staffer of the community organization is worth 1%.
CSE dept. service includes volunteering at approved events, joining ACM, GDC, or AAAI and assisting with their events, or other CSE service approved in advance by Dr. T. Approved events include the RoPro Contest (Feb.), Engineering Saturday (Sept., Nov. and Apr.), FIRST Tech Challenge (Mar.), FIRST Lego League (Nov.), and the RoPro Camp (July). This is not a complete list but it gives some examples.
College service includes volunteering at the Engineering Welcome Bash, joining ESC/ JCEO, volunteering at Engineering Summer Camps, and assisting with ESC events such as Engineers Week, or other College of Engineering service approved in advance by Dr. T.
University service includes activity with UTA Volunteers, FLOC, or the BIG EVENT, or other UTA service approved in advance by Dr. T.
"Community" service includes volunteering at public schools, parks, animal shelters, and homeless shelters.
Other venues for service (within UTA or within the community) must be approved in advance by Dr. T prior to your service.
Miscellaneous:
The class syllabus, schedule, and other information will be available on my website and/or Blackboard as it is developed. YOU are responsible for checking the website regularly for information such as due date changes and assignments.
Before census day you must e-mail to tiernan@uta.edu the following information:
Full name, e-mail address to be used for class distribution list (this must be an e-mail address that you CHECK regularly and preferably a UTA address), and any special information you would like me to have about you.
The subject line for this e-mail should be "Lastname - CSE1320 Distribution List Info" substituting your last name for "Lastname"
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.
If you are considering dropping this class please come discuss your performance in the class with Dr. Tiernan so that you can make the best choice.
Students who are members of the Honors College may wish to take this course for Honors credit. If you wish to do so, please provide me with an Honors Credit Contract (downloaded from http://honors.uta.edu/documents/credit.pdf). You and I will together determine an appropriate supplemental assignment to justify the awarding of Honors credit. If you are not in the Honors College and would like to learn more about the benefits of membership, visit the website at http://honors.uta.edu/, where you will find an application form for electronic submission.
Grading issues:
Requests for re-evaluation of assignments are limited to seven (7) calendar days after the assignment is returned. Every assignment submitted for regrading must be given to the instructor (exams and quizzes) or lab instructor (labs) in its entirety and will be completely regraded. Papers will not be re-evaluated in the classroom or lab.
Applications for excluding (or replacing) the grade in a course are available online from the Registrar's office (Office of Records) and must be turned in to the Registrar before the last drop day of the semester in which the course is being retaken.
Semester grades will be available via the UTA website, after the Registrar has completed processing the semester grades.
Ethics and Academic Integrity:
A Statement of Ethics will be provided for you to read, sign, return, and follow. Violators of the ethics code will be reported to the Vice-President for Academic Affairs and penalties will be levied as described in the Statement of Ethics.
How to be successful in Dr. T's class:
For lecture material - Read the textbook in advance. Come to class with material already a little bit familiar then hear it in class again
For lab assignments - START EARLY! Read and follow ALL the instructions. Don't pick and choose which ones you pay attention to. Use a highlighter to go over the assignment the first time and a pen or pencil to go through it a second time. It will take you a LOT OF TIME to do the labs completely so you need to plan for 20 to 30 hours or more per assignment as a minimum.
Design your lab first, then build it piece by piece. Make each piece work and TEST it before you do more. Save a version of the tested partial program then make a copy and continue working on the copy. This means you always have a working version that you could turn in. Test your program by trying out all the possible things that can be wrong and make sure that your program keeps running. If Dr. T says the program does not have to handle a particular problem then you can ignore that one.
How to get help:
This course offers assistance through weekly office hours for the course instructor and the TA. USE THEM. Go talk to the TA as soon as you can just so you can meet them. Once you meet them, it is easier to ask them for help. Go talk to Dr. T in her office as soon as you can. Same reason.
Other information:
Drop Policy: Students may drop or swap (adding and dropping a class concurrently) classes through self-service in MyMav from the beginning of the registration period through the late registration period. After the late registration period, students must see their academic advisor to drop a class or withdraw. Undeclared students must see an advisor in the University Advising Center. Drops can continue through a point two-thirds of the way through the term or session. It is the student's responsibility to officially withdraw if they do not plan to attend after registering. Students will not be automatically dropped for non-attendance. Repayment of certain types of financial aid administered through the University may be required as the result of dropping classes or withdrawing. For more information, contact the Office of Financial Aid and Scholarships (http://wweb.uta.edu/ses/fao).
Americans with Disabilities Act: The University of Texas at Arlington is on record as being committed to both the spirit and letter of all federal equal opportunity legislation, including the Americans with Disabilities Act (ADA). All instructors at UT Arlington are required by law to provide "reasonable accommodations" to students with disabilities, so as not to discriminate on the basis of that disability. Any student requiring an accommodation for this course must provide the instructor with official documentation in the form of a letter certified by the staff in the Office for Students with Disabilities, University Hall 102. Only those students who have officially documented a need for an accommodation will have their request honored. Information regarding diagnostic criteria and policies for obtaining disability-based academic accommodations can be found at www.uta.edu/disability or by calling the Office for Students with Disabilities at (817) 272-3364.
Academic Integrity: All students enrolled in this course are expected to adhere to the UT Arlington Honor Code:
I pledge, on my honor, to uphold UT Arlington’s tradition of academic integrity, a tradition that values hard work and honest effort in the pursuit of academic excellence.
I promise that I will submit only work that I personally create or contribute to group collaborations, and I will appropriately reference any work from other sources. I will follow the highest standards of integrity and uphold the spirit of the Honor Code.
Instructors may employ the Honor Code as they see fit in their courses, including (but not limited to) having students acknowledge the honor code as part of an examination or requiring students to incorporate the honor code into any work submitted. At UT Arlington, academic dishonesty is completely unacceptable and will not be tolerated in any form, including (but not limited to) “cheating, plagiarism, collusion, the submission for credit of any work or materials that are attributable in whole or in part to another person, taking an examination for another person, any act designed to give unfair advantage to a student or the attempt to commit such acts” (UT System Regents’ Rule 50101, §2.2). Suspected violations of academic integrity standards will be referred to the Office of Student Conduct. Violators will be disciplined in accordance with University policy, which may result in the student’s suspension or expulsion from the University.
Student Support Services: UT Arlington provides a variety of resources and programs designed to help students develop academic skills, deal with personal situations, and better understand concepts and information related to their courses. Resources include tutoring, major-based learning centers, developmental education, advising and mentoring, personal counseling, and federally funded programs. For individualized referrals, students may visit the reception desk at University College (Ransom Hall), call the Maverick Resource Hotline at 817-272-6107, send a message to resources@uta.edu, or view the information at www.uta.edu/resources
Electronic Communication: UT Arlington has adopted MavMail as its official means to communicate with students about important deadlines and events, as well as to transact university-related business regarding financial aid, tuition, grades, graduation, etc. All students are assigned a MavMail account and are responsible for checking the inbox regularly. There is no additional charge to students for using this account, which remains active even after graduation. Information about activating and using MavMail is available at http://www.uta.edu/oit/cs/email/mavmail.php.
Student Feedback Survey: At the end of each term, students enrolled in classes categorized as lecture, seminar, or laboratory will be asked to complete an online Student Feedback Survey (SFS) about the course and how it was taught. Instructions on how to access the SFS system will be sent directly to students through MavMail approximately 10 days before the end of the term. Each student’s feedback enters the SFS database anonymously and is aggregated with that of other students enrolled in the course. UT Arlington’s effort to solicit, gather, tabulate, and publish student feedback is required by state law; students are strongly urged to participate. For more information, visit http://www.uta.edu/sfs.
Final Review Week: A period of five class days prior to the first day of final examinations in the long sessions shall be designated as Final Review Week. The purpose of this week is to allow students sufficient time to prepare for final examinations. During this week, there shall be no scheduled activities such as required field trips or performances; and no instructor shall assign any themes, research problems or exercises of similar scope that have a completion date during or following this week unless specified in the class syllabus. During Final Review Week, an instructor shall not give any examinations constituting 10% or more of the final grade, except makeup tests and laboratory examinations. In addition, no instructor shall give any portion of the final examination during Final Review Week. During this week, classes are held as scheduled. In addition, instructors are not required to limit content to topics that have been previously covered; they may introduce new concepts as appropriate.
Course Schedule: |
|||||
Intermediate Programming in C |
As of 22 August 2013 |
||||
CSE 1320 |
Dates are approximate |
||||
Fall 2013 Schedule |
Subject to change as needed |
||||
Week |
Ch # |
and Topic |
Assignment / Other |
||
1 |
1 |
Intro, C Intro, Struct Development |
Eth stmt |
First day |
|
2 |
2 |
Program Control, Functions |
Lab #1 |
|
|
3 |
3, 4, 9 |
Data Types, Arrays, 2D Arrays |
Lab #2 |
Census Day |
|
4 |
4, 9 |
Search, Sort, Arrays |
|
Lab # 1 due |
|
5 |
5, 6 |
Strings, Prog Control, Recursion |
|
Lab # 2 due |
|
6 |
4, 9 |
Exam 1, Pointers |
Lab #3 |
|
|
7 |
4, 9,10 |
Ptrs, Files, Strings |
|
|
|
8 |
7 |
Structs, ADT |
|
Lab # 3 due |
|
9 |
7, 9, 8 |
ADT, Scope, Storage class |
Lab #4 |
|
|
10 |
10 |
I/O |
|
Drop deadline |
|
11 |
11 |
Exam II , Preprocessor, Macros |
|
Lab # 4 due |
|
12 |
11 |
Command line, Other C |
Lab #5 |
|
|
13 |
|
Software Eng. Pres., Debugging |
|
SE Powerpt pres on website |
|
14 |
12 |
C++ object-oriented topics |
|
|
|
15 |
|
Review Week |
|
Lab # 5 due |
|
Finals |
|
Comprehensive Final |
Final |
|
|
See UTA Academic Calendar for specific dates for Census Date, |
|||||
drop date, and final exam dates (www.uta.edu/uta/acadcal.php) |
|||||
Chapter #s correspond to Foster, C by Discovery |