CS1713 Syllabus



lecture notes

programming assignments


set up



Larry Clark


clark.utsa@yahoo.com Please include cs1713 and your name in the subject.


Please feel free to send me an email about your assignments; however, I cannot guarantee an immediate response (especially after 9pm). Start on your assignments ASAP to allow for time to receive help from a TA or me.

Office Hours:

TuTh 1-2pm,

TuTh 5-5:45pm and by appointment.

My office is located in North Paseo Bldg (NPB)  3.332.

If my office door is open (and it isn't within 10 minutes of a class time), please enter.

My Webpage:


Class Hours:

Section 1: TuTh 2:30pm-3:45pm North Paseo Bldg (NPB) 1.202


Concurrent enrollment required for cs1713 and cs1711.  You must be enrolled in one of my CS1711 sections:

cs1711 section 1: Tu 4-4:50pm NPB 1.226

cs1711 section 2: Th 4-4:50pm NPB 1.226


A Book on C, 4th Edition, Al Kelley and Ira Pohl


CS1063 (Intro to Programming I).  It is recommended that you earn a B or better in CS1063.

Course Objectives:

1.       Apply basic problem analytical skills to first understand the problem, then decompose it into sub-problems.

2.       Demonstrate basic programming skills using variables, primitive data types and declarations, and control flow constructs including if-then-else, while loops, and for loops

3.       Basic understanding of simple data structures (strings, one dimensional arrays, simple C structs, arrays of C structs, structs containing arrays, multi-dimensional arrays) including how they are represented in memory

4.       Basics of I/O including the use of appropriate functions for input (fgets, scanf, sscanf) and formatted output (printf). 

5.       Be able to write programs that include functions reliant upon "by value" parameter passing and "by address" parameter passing

6.       Comprehend command line arguments (argc, argv)

7.       Demonstrate an understanding of pointers:

o Referencing structure elements via a pointer

o Passing address of an argument to a function

o Dereferencing a pointer

o Fundamentals of pointer arithmetic

o Dynamic memory allocation (malloc) and deallocation (free) for linked list nodes and binary tree nodes

8.       Describe and use sorting (bubble sort) and searching (linear, binary)

9.       Explain how recursion is used in:

o Simple functions (e.g., factorial, Fibonacci numbers)

o Solving problems using recursion (e.g., Towers of Hanoi)

o Traversing singly linked lists

o Traversing binary trees

10.   Differentiate among classifications of storage including automatic memory, static memory, dynamic memory, and local variables

11.   Demonstrate programming:

o Functions which use formatted I/O

o Functions which manipulate strings (e.g., counting certain characters, deleting a character, inserting a character)

o Functions which traverse, sort, and search arrays

o Functions which traverse ordered singly linked lists

o Functions which traverse binary trees

o Functions which insert nodes into ordered singly linked list and binary trees

o Functions which use recursion

12.   Basics of the Linux operating system including commands for managing directories, editing files, removing files, compiling C source code using gcc, and debugger use


300 - Programs, Quizzes, Homework, Class Participation

Many of the recitations will include a quiz.

Some assignments may involve working in a group.

Your programs and quizzes will be graded by one of my Teaching Assistants.


200 - Exam #1


200 - Exam #2


300 - Final Exam


Note: the same grade is assigned for cs1713 and cs1711. You must be registered in both cs1713 and an appropriate section of cs1711 (see above).

Late Policy:


10% off per day late (not accepted after 5 days late)


late homework not accepted


no makeup except for university sanctioned excused absences

Exam Policy:

If Exam #1 or Exam #2 is missed, the Final Exam will count for a missed exam.  There will be no make up for the Final Exam except for university sanctioned excused absences.

Final Exam :

Section 1: Th Dec 15th 12:30pm-3:00pm


Attendance in the lecture is required.  A student who misses, without prior approval by the instructor, half or more of the lectures for CS1713 during the first two weeks may be dropped from both CS1713 and CS1711.

Attendance in the recitation is required. An in-class quiz will be given during many of the recitations.


Your education is very important to me.  If there is anything (reasonable) we can do to make it better, please let me know.


Ask questions.  It is important to ask questions; others probably have the same question.  In some circumstances, I may postpone an answer until necessary material is covered.

Distractions hurt your education.  Please be considerate of others:

>        Please turn OFF (do not just silence) your cell phones and pagers. If you have a potential emergency, please inform me before the class begins. In that circumstance, you can leave your mobile device on vibrate; quietly exit the class room to take your call.

>        Please arrive in class on time.


Consulting electronic devices is not allowed during exams. 
During exams, such consultation may result in a zero.


Programs must be written based on my programming standards.


All students are expected to understand the general rules and regulations of UTSA including the information at http://utsa.edu/syllabus.

 Black Board:

Programs must be turned in using Black Board. 

Course Notes:

My notes will usually use a two column format and will be provided in Microsoft Word, allowing you to edit them to fill in exercise information which will be intentionally blank.   If you print the Word notes, use View->Print Layout, landscape page orientation, and narrow margins. Some of the notes will use Microsoft PowerPoint.

Fine Print:

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. I reserve the right to make any changes I deem necessary and/or appropriate. I will make my best efforts to communicate any changes in the syllabus in a timely manner. Students are responsible for being aware of these changes.