CS 1713 - 002 Intro to Programming II

Spring 2014

http://www.cs.utsa.edu/~korkmaz/teaching/cs1713

Course Description

CS 1713 Introduction to Computer Programming II [TCCN: COSC 1437.]
(3-0) 3 hours credit. Prerequisite: CS 1063. Concurrent enrollment in CS 1711 is required. Extended programming concepts including multidimensional arrays, pointers, dynamic memory allocation/deallocation and recursion. Problem solving methods, algorithm development and implementation. (Formerly titled “Introduction to Computer Science.”)

CS 1711 Introduction to Computer Programming II Recitation [TCCN: COSC 1437.]
(1-0) 1 hour credit. Prerequisite: CS 1063. Concurrent enrollment in CS 1713 is required. Recitation to accompany CS 1713. (Formerly titled “Introduction to Computer Science Recitation.”)

Objectives

Learning Extended programming concepts in a specific language known as C with an emphasis on pointers and memory management.

Time and Location

TR 1:00 pm-2:15 pm
FLN 3.02.07 

Recitation/Lab Time and Location

CS 1711-003 Introduction to Computer Programming II Recitation: T 10:00 am-10:50 am, FLN 3.02.10A
CS 1711-004 Introduction to Computer Programming II Recitation: R 4:00 pm-4:50 pm, FLN 3.02.10A

Instructor

Dr. Turgay Korkmaz
Office: SB 4.01.13
Email: korkmaz at cs.utsa.edu
Phone: (210) 458-7346 Fax: (210) 458-4437

Office Hours: TR 2:30pm-4:30pm (or by appointment)

TA

Al Amin Hossain (Johnny)
Email: hossain.alamin@gmail.com, alamin_4@yahoo.com
Office: FLN 3.01.14
Office Hours:
Monday (3:00 pm-4:00 pm),
Tuesday (11:00 am-12:pm)
Wednesday(10:00-11:00pm),
Thursday( 5:00 pm-6:00 pm)
(or by appointment)

Tutoring

You can also get help from CS tutors: CS Tutoring Schedule

Prerequisite

Concurrent enrollment in CS 1711 is required.

Recommended Textbook (optional)

A Book on C, fourth edition by Al Kelly and Ira Pohl. Addison-Wesley, 1998 (optional)

Other reference books

  1. Programming Abstractions in C: A second Course in Computer Science by Eric S. Roberts, Addison-Wesley, 1998
  2. The C Programming Language by Kernighan and Ritchie (highly recommended)
  3. A Practical Guide to Linux by Sobell

Grading

There will be at least three exams (one of which is the final). Exam dates will be announced one week in advance. There will be unannounced quizzes that can occur during recitation or lecture. Exams will acount for 80% of grade, assignments 15%, and labs/quizzes 5%. The final will be comprehensive. Students are expected to be able to explain the workings of their own programs, and may be called upon to do so. If they cannot, no credit will be given for that assignment.

The lecture (CS 1713) and the recitation (CS 1711) are considered to be two parts of the same course. The lecture and the recitation carry different course numbers as an administrative convenience. You must be enrolled in a recitation section of the course that is associated with the lecture section that you are enrolled in. You will receive the same grade for both the lecture and the recitation.

You are responsible for all material presented in class. Exams and due dates will be scheduled in advance. A grade of zero will be recorded for missed exams unless prior arrangements are made (only allowed in extraordinary circumstances).

Assignments

Officially they will be posted and submitted through the UTSA Learn (f. Blackboard)

!!!! NO LATE HOMEWORK WILL BE ACCEPTED !!!

Students are encouraged to discuss programs in a general way to gain greater insight. Copying another’s code, writing code for someone else, or allowing another to copy your code are cheating, and can result in a grade of zero for all parties. Therefore, take precautions so that your old printouts, unattended screen, etc. are not available to other students. Discussing the details of the solution or showing/examining actual code are not acceptable. If you are in doubt whether an activity is permitted collaboration or cheating, ask the instructor. See also: www.utsa.edu/about/creed www.utsa.edu/about/creed/honorcode.html

Course Topics 

  • Quick Review of C Programming Language
    • Data types
    • Flow of control
    • Functions
    • Recursion
    • Pointers
    • Arrays
    • Structures
    • Dynamic Allocations
    • I/O Libraries
    • Linked list
    • Asymptotic Algorithm Analysis
  • Linux/Unix and Our Systems (Mostly covered during recitations)
    • Program Compilation and Execution in Unix/Linux
    • Debuggers and other tools (make, gdb, ddd, valgrind, etc.)

Tentative Schedule
1-Apr-14   Syllabus, prob solving loop, if-else examples
3-Apr-14 ch2 (1-13) Typedef,  Enum, Data Memory, Pointers, 
8-Apr-14 ch2 (13-61) Pointers,call-by-reference,1D Arrays, 
10-Apr-14 ch2 (62-124) Function Arguments, Search/Sort,  Strings, Ptr Arith, Dynamic Memory
15-Apr-14 ch02pg125-->
ch03 (1-40) 
File I/O… libraries
17-Apr-14 ch2 (126-160) Records and Pointers to records, dynamic records
22-Apr-14 ch2 (161-207) 2D Arrays, 2D char array, string, command-line arg, Dynamic 2D
24-Apr-14 exam 2
29-Apr-14 ch2 (161-207) 2D array cont + linked list….
 
7-May-14 FINAL EXAM Wednesday 7-May 9:45 AM - 12:15 PM

Online materials and Class Notes

Accessible from utsa.edu computers
or you need to know the user name and password given in class

Some external links

Software

C/C++ compiler

We will use linux and gcc. See Quick Intro to Linux and gcc

As an editor you can use vi, pico, gedit, xemacs, etc.

  • To learn vi/vim, run vimtutor on linux. Here are some vi cheat sheets obtained from web: s1, s2, s3

Computer Accounts

You will have an account on the CS network as long as you are enrolled in a CS course at UTSA. This account gives you access to Windows and Linux in various CS laboratories. You may also access your account from off-campus via the Internet using secure shell. A free version of secure shell is available at http://www.cs.utsa.edu/~javalab/lab/SSHSecureShellClient-3.2.0.exe, if you wish to install it on your home machine.

After installing and running SSH: Click Quick Connect, enter elk03.cs.utsa.edu as the hostname, enter your account id.
From CS system admin: "If a student is registered for a CS course and needs to login to the CSNET domain or Linux LDAP domain the default username is their myUTSAid (abc123) and their password is their banner number without the @ character. Please have them reset their passwords when they login. If they do not change their password their account may be locked when we run our password audit. "

Course expectations for professional conduct

Students will treat their classroom obligations as they would any serious professional engagement. These obligations include:
  • Preparing thoroughly for each session in accordance with the course calendar and instructor's request.
  • Notifying the instructor in advance if missing a class.
  • Being set up to begin work (logged in and set-up) for each class period at the time the class starts.
  • Staying on task during work sessions.
  • Participating fully and constructively in all course activities and discussions.
  • Adhering to deadlines and timetables established by the instructor.
  • Displaying appropriate courtesy to all involved in the class sessions.
  • Providing constructive feedback to the instructor regarding the class.

Note: Turn off and put away all cell phones, iPods, and other electronic devices. You should only have class materials on your desk. You should only have the course web pages, and the classroom query software up on your screen. The instructor and TAs can observe and will record incidents of inattention, which will seriously impact the Homework/Attendance/Participation portion of your grade. Unauthorized electronic devices in use or on the desktop during class are subject to confiscation.

University policies

For common syllabus information that should be part of every syllabus, see the page http://utsa.edu/syllabus

It includes the links and the mandatory administrative information concerning disability services, the academic dishonesty policy, and other important issues.

Disclaimer

This syllabus is provided for informational purposes regarding the anticipated course content and schedule of this course. It is based upon the most recent information available on the date of its issuance and is as accurate and complete as possible. The instructor reserves the right to make any changes deemed necessary and/or appropriate. The instructor will make his or her best efforts to communicate any changes in the syllabus in a timely manner. Students are responsible for being aware of these changes.