COP 4338 Spring 2015 - Programming 3



Francisco Ortega, Ph.D.
University Park, ECS 263.

Office hours:Tuesday 4:45pm to 6:00pm, Thursday 4:45pm to 6:00pm, or by appointment.

Web Site:

Web Site: FranciscoRaulOrtega.Com

Lecture time: Tuesday and Thursday 18:25-19:40

Final Exam Date: 5:00pm to 7:00pm on 4/30/2014 (Wednesday).

Location: ECS139


Text Book:
It is recommended that you buy one C text book. There are two options:

  • The C Programming Language, 2nd Edition by Kernighan and Ritchie.
  • C Programing. A Modern Approach (Second Edition). by King.

  • The difference is in the price. The book by King is very complete and it covers C99 features which are very useful. It is a larger book with resources that can be very useful. However, the price in amazon is 110.98 for a new one. The book by Kernighan and Richie is a great book. It is a bit smaller and it goes to the point. It is also cheaper at 51.80 at amazon. This book it is the common required book for this class by most instructors. I'm providing the option of either book because I want you to spend the money for something that you want. I personally like both books. If you already have a C book, then you may not want to buy either one.

    In general, I will provide most of the material you need usign Power Point and other resources. I will follow both books to cover different aspects, as well as other material that I have (including other books). Ask me if you have any questions. As we progress, I will make a reference list available to you.


  • Mid-Term Exam 25%
  • Final Exam 35%
  • Assignments 25%
  • Final Project 10% (Just another homework!)
  • Class Participation 5%


    The class will try to cover various topics depending on time availability and instructor's discretion. The objective of the class is to teach C programming language and advanced topics, using a Unix/Linux operating System. There are additional topics that may be covered if time allows.

    The student is expected to have an understanding of data structures, object-oriented programming, and computer fundamentals. While this class will use linux/unix to work in lots of their problem, the student is not required to know unix/linux but knowing it in advanced of the class may beneficial. In particular, how to edit a file (vi, emacs, or nano), compiled a basic C file (gcc), and do basic operations in the terminals such as directory listing (ls), copying (cp), and moving (mv), among others. Nevertheless, The student will be given enough information to do this. Some students may prefer to edit their homework in their editor of their choice (e.g., Sublime) and then copy the files to a linux/unix server.

    If you area already running a unix/linux systems (including macosx, freebsd), you can worked directly in your favorite editor, without the need to use a terminal editor. Nevertheless, it is important that you at least know how to use a basic terminal editor. The nano and vi editors may be the simpler ones to use in the terminal. If you have Windows OS, you may want to install a virtual machine with linux. While there is a way to run unix/linux programs and commands without a virtual machine (using cygwin), it may best to have a VM running. Remember that you can use the school's server to run your code, without the need of anything but a terminal program like putty (windows) or ssh from your linux/macosx machine.

    This instructor is here to help you. This is a class where the students can gain knowledge, demonstrate the knowledge, and have fun while doing it. The final project is a topic of your choosing that you can start thinking from the beginning of this class. Talk to the instructor to see if the topic is doable in the amount of time you have and it is compatible with the topics and objectives of this class. There is a required book and additional references needed. See more about this in the book section.


  • Code of Academic Integrity:
  • University Policies: academic misconduct, sexual harassment, religious holydays, and information on services for students with disabilities
  • If you have any disability make sure you let me know with time to make any accommodation. Also, please make sure you check the FIU Disability Center web site at : I will be more than happy to accommodate any part of this class, based on the recommendation of DRC.

    Incomplete Grade Policy

    Incomplete grades are not a way to get more time to finish the course because of course load or to “repeat” the course. I will be very strict when it comes to giving incomplete. In most cases, I will not issue an incomplete. Given the fact that I’m not a regular instructor at this institution, it makes it even harder. I will only approved the Incomplete if the conditions explained below are met and my direct supervisor approves the incomplete.

    The conditions that must be met, in addition with FIU Incomplete Grade Policy are: the student must have a passing grade at the moment that it request the “I” grade; The incomplete will be only issue if is due to a documented event that prevents the student from continuing the semester. The student must finished within 2 semester. I will use my discretion to give incomplete.

    How to do well in this class (applies to all classes)

    The following items are what I found during my studies to help me. Maybe some will help you


    You will need to submit your homework via moodle. When submitting homework to moodle, you will need to upload ONE compress file (zip,rar) with the following format: (or .rar) Each homework will stay if you need to print out the homework or not before coming to class.


    Some slides were borrowed from C Programming A Modern Approach.Some of the material has also been borrowed from the C Programming Language book by Kernighan and Ritchie. In most cases, I have tried to place the copyright of the corresponding author. If you think is missing, please let me know. However, the content has been modified. The power points sometimes make sense only with the lecture. Use freely, but make sure to add the correct copyright if missing. Finally, you will notice the material from C Programming Language because they are screenshots from scans that I did from the book.

    Lectures (Go to moodle)


  • News will be posted in moodle.