CS3723 Syllabus


Larry Clark


larry.clark@utsa.edu Please include cs3723, your section, 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 early to allow for time to receive help from a TA or me.

Office Hours:

(Effective March 23 thru May 7 )

I will be available only remotely via Discord.

TuTh 10am-11am,

TuTh 1-2pm

W 2-4pm

MF (I will usually be available) 2-4pm.  Some exceptions:

  • F March 27th - I will be grading your midterm exams.
  • F April 17th - I will be hosting a Career Development session
  • F April 25th - Faculty meeting
  • F May 8th - I will be out of town.


My Webpage:


Class Hours:

Section 1: TuTh 11:30am-12:45pm NPB 1.202 Now in BlackBoard Collaborate Ultra.

Section 2: TuTh 2:30pm-3:45pm NPB 1.202 Now in BlackBoard Collaborate Ultra.


Concepts of Programming Languages, 11th Edition, Robert Sebesta

ISBN: 978-0-13-394302-3

There are additional references on the References web page.


CS2233 (Discrete Math) and CS3443 (Application Programming)

CS3723 assumes you are very familiar with the C and Java programming languages.  There will be programming assignments using C, LISP, Python, and possibly C++.

Course Objectives:

An introduction to high-level procedural, functional, and object-oriented programming languages, their theoretical foundations, organization, and implementation. Topics include:

> storage management

> data representation

> data control (scope, parameter passing, bindings)

> operations and their characteristics

> sequence control


> Python

> C++

> object-oriented languages and error handling

> iterator and generators

> additional topics may vary based on time

This course should help you:

> understand how to analyze a programming language

> design programs in a progamming language

> understand different approaches for implementing language features.


300 Programs, Quizzes, Homework, Class Participation

Tentative list of programs:

> Pgm #1 - C to implement storage management functions

> Pgm #2 - LISP functions

> Pgm #3 - LISP program

> Pgm #4 - Python begin

> Pgm #5 - Python program

> There will probably be an extra credit LISP program involving macros

Tentative list of homework:

> Hwk #1 - Storage Mgt

> Hwk #2 - Scope

There will be additional practice exercises to better prepare you for exams.


300 Midterm Exam (tentatively scheduled for the 8th week)

This will be done online via Blackboard. You must have Microsoft Word to take this exam.


400 Final Exam

Late Policy:


10% off per day late (not accepted after 5 days late). 
 Programs will be turned in via Blackboard.


late homework not accepted


no makeup except for university sanctioned excused absences.

Exam Policy:

If a Midterm Exam is missed, the Final Exam will count for a missed exam.  There will only be makeup exams for university-sanctioned excused absences.

Final Exam :

Section 1: Th May 14, 11am-12:50pm

Section 2: Th May 14, 1pm-2:50pm


Attendance in the lecture is required. Prior to Spring Break, please record your attendance with iClicker. After the extended Spring Break, attendance in taken via Blackboard Collaborate Ultra.


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 to class on time.  When someone arrives late, they distract many of the students who were 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.


Scholastic Dishonesty will not be tolerated.


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

 Black Board:

After the semester begins, most course information will be available only through Black Board. 

Course Notes:

My notes will usually use a two-column format and will be provided in Microsoft Word (use web view), allowing you to edit them to fill in exercise information which will be intentionally blank.   To print the notes, use print view, landscape 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.