Sie sind auf Seite 1von 4

Course Syllabus

CS 3376.002 – C/C++ Programming in a UNIX Environment


MW 2:30pm-3:45pm ECSS 2.201

Instructor: Dr. Jey Veerasamy


Office: ECSS 3.231
Office Phone: 972-883-4241
E-Mail: jeyv@utdallas.edu
Web Site: www.utdallas.edu/~jeyv

Office Hours: Monday 1:45pm – 2:30pm


Tuesday 1:15pm – 2:30pm
Wednesday 1:45pm – 2:30pm
Thursday 1:15pm – 2:30pm
Other hours by appointment.

TA:
Anantkumar S Patel (Anant)
Office Room: ECSS 4.411
Office Hours: Tuesday & Thursday 12 noon to 1:15pm
Email: asp081000@utdallas.edu

Course Pre-requisites, Co-requisites, and/or Other Restrictions

Computer Science I and II (CS 1337 and CS 2336, or equivalent courses)


Basic Object Oriented Programming Skills

Course Description

CS 3376 C/C++ Programming in a UNIX Environment (3 semester hours) Advanced programming


techniques utilizing procedural and object oriented programming in a UNIX environment. Topics include
file input and output, implementation of strings, stacks, queues, lists, and trees, and dynamic memory
allocation/management. Design and implementation of a comprehensive programming project is
required. Prerequisite: ECS 2336 or equivalent (Same as SE 3376). (3-0) S

Student Learning Objectives/Outcomes

1. Ability to create classes of abstract data consisting of variables and functions


2. Ability to utilize C++ constructors, copy constructors, and destructors
3. Ability to utilize C++ OOP features using static member data and member functions
4. Ability to utilize C++ File and Stream Input/Output Processes
5. Ability to generate reusable code using inheritance
6. Ability to use polymorphism and virtual member functions
7. Ability to generate reusable code using templates
8. Ability to create and utilize dynamic data structures such as linked lists
9. Ability to create and utilize recursive functions

Required Textbooks and Materials

None. We will use free e-books and other web resources in this course.

Suggested Course Materials


How to Think Like a Computer Scientist http://www.greenteapress.com/thinkcpp/
Data Structures and Algorithms with Object-Oriented Design Patterns in C++
http://www.brpreiss.com/books/opus4/html/book.html
More resources will be added as the course progresses.
Assignments & Academic Calendar (subject to change throughout the term)

Class Date Class Activity Assignment

1 Monday, August 23 Review of Syllabus

2 Wednesday, August 25 C/C++ Fundamentals

3 Monday, August 30 C++ Fundamentals

4 Wednesday, September 1 I/O streams

Monday, September 6 Labor day, no class

5 Wednesday, September 8 Pointers

6 Monday, September 13 Dynamic memory allocation Quiz 1

7 Wednesday, September 15 Classes

8 Monday, September 20 More Classes

9 Wednesday, September 22 Inheritance & virtual methods Project 1 due

10 Monday, September 27 Exceptions & Templates Project 2 out

11 Wednesday, September 29 Template classes ... Quiz 2

12 Monday, October 4 Template classes ...

13 Wednesday, October 6 Debugging?

14 Monday, October 11 Mid-term preparation

15 Wednesday, October 13 Mid-term exam Project 2 due


(Oct 16th)

16 Monday, October 19 Strings, Linked lists

17 Wednesday, October 21 Stacks & Queues

18 Monday, October 26 Trees

19 Wednesday, October 28 Graphs

20 Monday, November 1 Linux ... Project 3 due

21 Wednesday, November 3 Linux ...

22 Monday, November 8 Linux ...

23 Wednesday, November 10 Multi-threading & Multi-processing

24 Monday, November 15 Multi-threading & Multi-processing

25 Wednesday, November 17 Multi-threading & Multi-processing

26 Monday, November 22 Multi-threading & Multi-processing

27 Wednesday, November 24 Project discussions

28 Monday, November 29 Advanced topics (design patterns)


29 Wednesday, December 1 Advanced topics (design patterns) Project 4 due

30 Monday, December 6 Exam Review, last day of the class Final project I due

Study break
Final Project II due @ December 12

31 Monday, December 13 Final Exam @ 2pm

Grading Policy
(including percentages for assignments, grade scale, etc.)

Projects and exams determine grades. All exams are closed book and closed notes. The final grade will
be composed as follows:

Quizzes 10%
Projects 50%
Exam 1 20%
Exam 2 20%

Letter grades will be assigned as follows:

98-100 A+
92-97 A
90-91 A-
88-89 B+
82-87 B
80-81 B-
78-79 C+
72-77 C
70-71 C-
68-69 D+
62-67 D
60-61 D-
Below 60 F

Course & Instructor Policies

All make-up exams are scheduled during the week following the actual exam date at the discretion of the
instructor. Make-up exams are only given to those students who coordinate the missing of an exam prior
to the originally scheduled exam date and time.

Course credit is only given for work assigned and scheduled in the course schedule. No extra work will be
assigned nor will extra credit be given for any extra work performed by a student.

Class attendance is not recorded or required except for exam dates and times. However, 5-10 quizzes
will be given on randomly selected days. Those quizzes will typically test your understanding of course
materials covered recently & 10% of the final grade will determined by your performance in those
quizzes. Make-up quizzes will not be given for absentees.

There will be 5 C++ projects in this course. Comprehensive final project will account for 30%, all other
projects will contribute 5% each towards your final grade. All these assignments should be submitted
through eLearning. More details on these projects will be given as the course progresses.

Assignments are due at midnight on the day listed in the syllabus. Even if you cannot complete a project
in timely manner, you are encouraged to submit the partial version on time to get maximum possible
partial credit. If you are able to complete your assignment fully within a day beyond the deadline, you
are encouraged to submit it again – it will be considered for additional points at the discretion of the
instructor.

Students are expected to be respectful to each other and to the course instructor. Disruptive behavior in
the class room is not tolerated.

Off-campus Instruction and Course Activities

No off-campus activities are scheduled.

Policies and Procedures for Students

The University of Texas at Dallas provides a number of policies and procedures designed to provide
students with a safe and supportive learning environment. Brief summaries of the policies and
procedures are provided for you at http://provost.utdallas.edu/home/index.php/syllabus-policies-and-
procedures-text
and include information about technical support, field trip policies, off-campus activities, student conduct
and discipline, academic integrity, copyright infringement, email use, withdrawal from class, student
grievance procedures, incomplete grades, access to Disability Services, and religious holy days. You may
also seek further information at these websites:
http://www.utdallas.edu/BusinessAffairs/Travel_Risk_Activities.htm
http://www.utdallas.edu/judicialaffairs/UTDJudicialAffairs-HOPV.html
http://www.utsystem.edu/ogc/intellectualproperty/copypol2.htm
http://www.utdallas.edu/disability/documentation/index.html

These descriptions and timelines are subject to change at the discretion of the Professor.

Das könnte Ihnen auch gefallen