Skip to main content


Computer Programming in C

CIS 1057 - Spring 2025

Instructor

picture of Professor Thanh P. Nguyen.

Professor Thanh P. Nguyen
Email: [email protected]
Office: SERC 325

Sections

  • Section 002
    • Lecture: Monday 5:30 PM - 8:00 PM - Wachman 407
    • Lab: Wednesday 5:30 PM - 7:20 PM - SERC 206

Announcement & Due Dates

Week 1

  • Video: Computer Basics ✅
  • Video: Binary Numbers ✅
  • Video: Variables ✅
  • Video: Arithmetic Expressions ✅
  • Video: Printf and Scanf ✅
  • Video: Floating Point Numbers (Double)
  • Video: Math Functions
  • Video: Integer Division and Modulo

Week 2

  • Video: Type Conversions and Random Numbers
  • Video: Characters and Strings
  • Video: Integer Overflow and Unsigned
  • Video: Live Coding Evaluation Example: Weeks 1 & 2
  • Live Coding Evaluation: Weeks 1 and 2 - January 24th

Office Hours

Professor Thanh

Office hours with Prof. Thanh can be arranged by appointment using Calendly and will be conducted via Zoom. Office hours are available at the following times:

  • Monday, 2:00 PM - 3:30 PM - SERC 325

  • More times are available by appointment using the Calendly link below.

To schedule an appointment with Prof. Thanh, click here!

If the scheduling widget doesn't appear use the following Calendly link: https://calendly.com/thanh-phuoc-nguyen/office-hours

Teaching Assistant

Course Syllabus

Course Description

This course introduces students to computer programming using the C language. Students will solve programming problems using procedural programming constructs such as variable assignment, loops, branching structures, and functions. Students will write programs that are testable (using assertions) and maintainable (using good programming style, naming conventions, indentation, and comments). Topics covered also include the general characteristics of computers, techniques of problem solving, and algorithm specification. Students also begin the debugging and testing of computer programs in the C language. Students are also introduced to software engineering practices, including unit testing techniques, debugging techniques, and version control management. NOTE: This course can be used to satisfy the university Core Quantitative Reasoning B (QB) requirement. Although it may be usable towards graduation as a major requirement or university elective, it cannot be used to satisfy any of the university GenEd requirements. See your advisor for further information.

For any CIS prerequisite course taken prior to Spring 2012 a grade of C or better is required.

Course Goals

  • By the end of the course, the students will feed comfortable predicting the output of code snippets in the C programing language, as well as writing their own C code to solve problems they have not yet seen.
  • The students will gain experience and confidence in their abilities to problem-solve and collaborate on writing computer program with their peers.

Topics

  • Variables
  • Branches
  • Loops
  • Arrays
  • User-defined Functions
  • Structs
  • Pointers
  • Input/Output

Grading

  • Live Coding Evaluations: 30%
  • Videos: 15%
  • Final Project: 10%
  • Midterm 1: 15%
  • Midterm 2: 15%
  • Final: 15%

The live coding evaluations must be initiated by the student each week during lab period, or at office hours after lab day. The 4 lowest scores for the live coding evaluations will be dropped.

The final exam for this course is common, along with the other sections of CIS 1057. For those students registered with the DRS, you may register beforehand to take your exam in their facilities.

Exam Dates

  • Midterm 1: February 12th - SERC 206
  • Midterm 2: March 26th - SERC 206
  • Final: TBA - Wachman 407

Relevant University Policies for this course

Grading Scale

A RangeB RangeC RangeD RangeF Range
A: 94-100B+: 87-89C+: 77-79D+: 67-69F: 0-59
A-: 90-93B: 84-86C: 74-76D: 64-66
B-: 80-83C-: 70-73D-: 60-63

Attendance and Your Health

We continue to meet the changing circumstances of the COVID- 19 pandemic with flexibility and by working together as a community. To achieve course learning goals, students must attend and participate in classes, according to the course requirements. However, if you feel unwell or if you are under quarantine or in isolation because you have been exposed to the virus or tested positive for it, you should not come to campus or attend in-person classes or activities. It is the student’s responsibility to contact me to create a plan for participation and engagement in the course as soon as you are able to do so, and to make a plan to complete all assignments in a timely fashion when illness delays your completion.

Technology specifications

This course requires the use of Canvas, including access to materials and assignment submission. On-campus computer labs have resumed normal operations and are available for student use. Limited resources are available for students who do not have the technology they need for class. Students with educational technology needs, including no computer or camera or insufficient Wifi-access, should submit a Student Technology Assistance Application located in TUPortal and linked from the Dean of Students Support and Resources webpage. The university will endeavor to meet needs, such as with a long-term loan of a laptop or Mifi device, a refurbished computer, or subsidized internet access. Internet Essentials from Comcast provides the option to purchase a computer for $150 and high-speed Internet service for $9.95 a month, plus tax. The Emergency Broadband Benefit (EBB) is available to purchase Xfinity, Verizon, T-Mobile, and other internet services. Qualified households can receive a temporary monthly credit of up to $50/month toward their Internet service and leased Internet equipment until the program's funding runs out.

Student Support Services

The following academic support services are available to students:

If you are experiencing food insecurity or financial struggles, Temple provides resources and support. Notably, the Temple University Cherry Pantry and the Temple University Emergency Student Aid Program are in operation as well as a variety of resources from the Division of Student Affairs.

Student with Disabilities

note

Please bear in mind that COVID-19 may result in a need for new or additional accommodations.

Any student who has a need for accommodations based on the impact of a documented disability or medical condition should contact Disability Resources and Services (DRS) located in the Howard Gittis Student Center South, 4th Floor at [email protected] or 215-204-1280 to request accommodations and learn more about the resources available to you. If you have a DRS accommodation letter to share with me, or you would like to discuss your accommodations, please contact me as soon as practical. I will work with you and with DRS to coordinate reasonable accommodations for all students with documented disabilities. All discussions related to your accommodations will be confidential.

Expectations for Class Conduct

The best way to maintain a safe and focused learning environment is for everyone to get vaccinated. We all need to follow the university guidance on masking as well. For your general health and well-being, hand washing and monitoring your health is still highly recommended. It is also important to foster a respectful and productive learning environment that includes all students in our diverse community of learners. Our differences, some of which are outlined in the University's nondiscrimination statement, will add richness to this learning experience. Therefore, all opinions and experiences, no matter how different or controversial they may be perceived, must be respected in the tolerant spirit of academic discourse. Treat your classmates and instructor with respect in all communication, class activities, and meetings. You are encouraged to comment, question, or critique an idea but you are not to attack an individual. Please consider that sarcasm, humor and slang can be misconstrued in online interactions and generate unintended disruptions. Profanity should be avoided as should the use of all capital letters when composing responses in discussion threads, which can be construed as “shouting” online. Remember to be careful with your own and others’ privacy. In general, have your behavior mirror how you would like to be treated by others.

Statement on recording and distribution of recordings of class sessions

Any recordings permitted in this class can only be used for the student’s personal educational use. Students are not permitted to copy, publish, or redistribute audio or video recordings of any portion of the class session to individuals who are not students in the course or academic program without the express permission of the faculty member and of any students who are recorded. Distribution without permission may be a violation of educational privacy law, known as FERPA as well as certain copyright laws. Any recordings made by the instructor or university of this course are the property of Temple University.

Academic Freedom

Freedom to teach and freedom to learn are inseparable facets of academic freedom. The university has adopted a Policy on Student and Faculty Academic Rights and Responsibilities (links to an external site.). http://policies.temple.edu/PDF/99.pdf

Academic Honesty

According to the University Student Code of Conduct, students must not commit, attempt to commit, aid, encourage, facilitate, or solicit the commission of academic dishonesty and impropriety including plagiarism, academic cheating, and selling lecture notes or other information provided by an instructor without the instructor’s authorization. Violations may result in failing the assignment and/or failing the course, and/or other sanctions as enumerated in the University Code of Conduct (Links to an external site.).