ECE 275 Syllabus

Lectures: Tuesday and Thursday 11:00AM-12:15PM
Location: Saguaro Hall 225

Instructor

Roman Lysecky, rlysecky@ece.arizona.edu
Office: ECE 356F
Office/Lab Hours: Tuesday and Thursday 8:00AM to 10:00AM, ECE 250.


Teaching Assistant

Travis Hoffman, travish@email.arizona.edu
Office/Lab Hours: Monday 11:00AM-2:00PM and Tuesday 5:00PM to 8:00PM, in ECE 250.


Textbooks:

Required: K. Loudon, "Mastering Algorithms with C", O'Rielly, ISBN: 978-1-56592-453-6
Recommended: K. N. King, "C Programming: A Modern Approach", 2nd Edition, W. W. Norton & Company, ISBN: 978-0-393-97950-3


Additional Reference Books:

Cormen, Leiserson, Rivest, and Stein, Introduction to Algorithms, Third Edition, MIT Press.
Kernighan and Ritchie, The C Programming Language, Prentice Hall.


Useful Websites:


Course Overview of Topics:

  • Review of C Programming
    • Build process (preprocess, compile, link)
    • Project management tools (e.g., CMake, IDEs)
    • Libraries and code re-use across executables
    • Debugging
  • Memory Concepts
    • Pointers and memory addresses
    • Pass by value and reference
    • Memory allocation and management
    • Distinction between stack and heap in software programs
  • Core Data Structures and Algorithms
    • Trees, queues, stacks, heaps, and graphs
    • Sorting, searching, hashing, traversals, shortest path
    • Design, analysis, and implementation
    • Asymptotic analysis of algorithms
  • Introduction to C++ and Classes
    • Instantiation, object lifecycle (construction, destruction)
    • Operations
    • Standard Template Library (STL) Classes

Grading:

Grading for the class will be performed on an individual basis. You will not be competing with the other students for your grade. Your grade is only dependent on the effort you put into the class.
Letter grades will be assigned using a strict 10% scale: 90% and above corresponds to an A, 80% and above to a B, 70% and above to a C, 60% and above to a D, and less than 60% to an E.
The grading will be based on a weighted sum as follows:
40% - Exams
45% - Programming Assignments
10% - Quizzes
5% - In-Class Exercises
All grades will be posted on D2L.


Policies:

  • Punctuality: Please arrive to class on-time.
  • Reading: Students are expected to read assigned material being covered in lecture before coming to class.
  • Academic Dishonesty: Any academic dishonesty will not be tolerated. Unless explicitly stated by the instructor, all course work should be done on your own. Please consult the UA Code of Academic Integrity.
  • Late Assignments: Late assignments will be accepted up to a maximum of to two days late with a reduction of 15% for each day late. For example, if you submitted an assignment 2 days late, and received a score of 82%, your final late score will be 52% (i.e. 82%-(15%*2)=52%).
    Late assignments will be accepted with no penalty in extraordinary circumstances, e.g., medical emergency, University/College approved absences, religious observations.
  • Re-grades: All requests for re-grades must be submitted in writing. Assignments requested to be re-graded will be re-graded in their entirety.


Programming Assignments

A detailed overview of programming assignments, submission requirements, and C coding style and standards requirements, please refer to the Assignments page.