Bei Yuan

University of Nevada, Reno


Personal Information

I am currently working on my Ph.D. in Computer Science at the University of Nevada, Reno.

For the Fall 2006 semester, I am teaching CS 135 - Computer Science I.

bei@cse.unr.edu


CS 135 Course Information

Official CS 135 Course Website Class Notes Syllabus Class Schedule Eclipse Mac Install

Class Schedule - Section 7 & 8
Tuesdays and Thursday, 4:00 PM - 5:15 PM in WRB 2030 (Education Building)

My Office Hours
Thursday, 5:15 PM - 6:30 PM or by appointment in SEM 207

Lab Schedule
Teaching Assistant: Chang Jia   -   chang@cse.unr.edu     
Section 7: Wednesdays from 5:00 PM - 5:50 PM in SEM 231C
Section 8: Wednesdays from 6:00 PM - 6:50 PM in SEM 231C

Important Dates - WRB 2030
Exam I : Thursday, October 5
Exam II: Thursday, November 9
Final Exam: Saturday, December 16, 9:45 - 11:45

Course Description
An introduction to modern problem solving and programming methods, with emphasis on algorithm development. Also, an introduction to procedural and data abstraction, emphasizing design, testing, and documentation.

The primary objective is to provide students with the skills necessary for programming and problem-solving using a computer. The programming language will be C++. Topics covered include: program organization, fundamental C++ objects, expressions, and assignment, control constructs, library and programmer-defined functions, advanced parameter passing, and arrays.

Textbook
Malik, D. S. (2007) C++ Programming: Program Design Including Data Structures (3rd Edition). Thomson Course Technology.

Prerequisite     Math 128 - Precalculus and Trigonometry

Organization
The course is arranged on a lecture-laboratory basis. The laboratory is a mandatory part of the class. The teaching assistants will outline additional lab requirements. There are two types of assignments: exercises and lab assignments. All lab assignments, homework, quizzes, and exams are required.

Exercises     The exercises consist of practice questions which are intended to assist the student in mastering the course content. Some of these exercises may be collected and graded, but you will be informed in advance when an exercise is to be handed in.

Lab assignments     The lab assignments require the solutions to problems using the computer. We will be using the Windows/Linux boxes in the College of Engineering Computing Center (ECC), room SEM 231. You will be instructed how to submit your lab assignments for grading.

Final project     The final lab assignment will be in the form of a term project. It will be the most comprehensive coding assignment, requiring knowledge of all the concepts covered in the course, and its implementation will span several weeks.

Late policy     Late exercises, assignments or projects will not be accepted.

Exams     There will be two exams and one comprehensive final. The first two exams will take place in the regular classroom. Makeup exams will only be allowed for medical emergencies.

Quizzes     There may be announced and unannounced quizzes. There will be no makeups for missed quizzes. You should expect about one quizz every or every other week in lab/class. No quiz grades will be dropped in the final grade calculation.

Academic integrity     All assignments (exercises, labs and projects) and all exams (quizzes, exams and final) are to be treated as individual and not a collective effort except for some labs as described below. A severe penalty will be given for any other assignment or exam which indicates collusion or other form of academic dishonesty. The usual penalty for academic dishonesty on assignments or an exam is failure in the course.

You should carefully read the UNR policy on Academic Standards. Your continued enrollment in this course implies that you have read it, and that you subscribe to the principles stated therein.

All lab assignments should be considered "open-book, take-home tests". If you (individual) need assistance with an assignment, you may consult your professor, a CS TA designated to help with CS 135, your textbook, or any other textbook. You may not receive substantive assistance in any form from any other source (i.e., from other students, from computer center personnel, from paid or unpaid tutors, etc.). Any assistance you do receive is to be documented in the comment section of your code.

The only help you may receive from other students is with syntax errors or with questions regarding the computer system. Do not show, exchange or copy code. Using another person's listing or having another person "ghostwrite" a lab will be considered academic dishonesty. Any indication of joint collaboration other than that defined above will be considered academic dishonesty.

Disability statement     If you have a disability for which you will need to request accommodations, please contact the instructor or someone at the Disability Resource Center (Thompson Student Services - 107) as soon as possible.

Grading
Both grading policy and scale are subject to change. Failure in either the programming component (lab assignments + final project) or the lecture component (quizzes + all exams) will result in failure in the course.

Grading Policy
Grading Scale
Lab Assignments 20% 90% - 100% A
Final Project 20% 80% - 89% B
Quizzes and Exercises 10% 65% - 79% C
Midterm Exams 15% + 15% 55% - 64% D
Final Exam 20% 0% - 54% F


Course Outcomes
  • Students demonstrate they can define and apply the basics of a programming language.
    • Strategies and Actions:
      • Lectures, labs, and projects covering the basic concepts of a programming language, in particular C++.
    • ABET Criteria covered:
      • (a) An ability to apply knowledge of mathematics, science, and engineering.
      • (c) An ability to design a system, component, or process to meet desired needs.
      • (k) An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice.
    • Program Objectives covered:
      • (2) Our graduates will have achieved a solid understanding of concepts fundamental to the discipline of Computer Science.
    • Assessment:
      • Quizzes and exams
      • Weekly lab assignments and projects

  • Students demonstrate they can design small projects. Students also design a multi-part project including topic details of their own choosing.
    • Strategies and Actions:
      • Learning program design through weekly labs and projects. Many of the labs and projects describe the problem but leave the design and implementation details to the students.
      • The final project is comprehensive, implementation spans several weeks, and is loosely defined.
    • ABET Criteria covered:
      • (b) An ability to design and conduct experiments, as well as to analyze and interpret data.
      • (c) An ability to design a system, component, or process to meet desired needs.
      • (e) An ability to identify, formulate, and solve engineering problems.
      • (h) The broad education necessary to understand the impact of engineering solutions in a global and societal context.
    • Program Objectives:
      • (2) Our graduates will have achieved a solid understanding of concepts fundamental to the discipline of Computer Science.
      • (3) Our graduates will have achieved good analytic, design, and implementation skills required to formulate and solve computing problems.
    • Assessment:
      • Lab assignments pertaining to algorithm development (pseudocode)
      • Project design reports

  • Students demonstrate they can solve problems by finding and then coding solutions.
    • Strategies and Actions:
      • Learning problem solving by analyzing a given problem, finding a solution, and then coding the solution.
    • ABET Criteria covered:
      • (e) An ability to identify, formulate, and solve engineering problems.
      • (i) A recognition of the need for, and an ability to engage in life-long learning.
    • Program Objectives:
      • (2) Our graduates will have achieved a solid understanding of concepts fundamental to the discipline of Computer Science.
      • (3) Our graduates will have achieved good analytic, design, and implementation skills required to formulate and solve computing problems.
    • Assessment:
      • Quizzes and exams
      • Weekly lab assignments and final project