Course Description

This subject is aimed at students with little or no programming experience. It aims to provide students with an understanding of the role computation can play in solving problems. It also aims to help students to feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. The class will use the C programming language.

Timetable:

Monday: 14:45-16:25,Room:S216

Thursday: 8:00-9:35,Room:N404

Prerequistes

This subject is aimed at students with little or no programming experience.

Course Objectives

Among the overarching goals for students individually in this course is that they learn something that we haven’t taught them, as is manifest at term’s end by so many students’ final projects that use languages, libraries, tools, and techniques not taught in the course. Along the way will students learn to

  • think more methodically;
  • program procedurally;
  • represent and process information;
  • communicate succinctly and precisely;
  • solve problems efficiently;
  • recognize patterns among problems;
  • decompose problems into parts and compose solutions thereto;
  • operate at multiple levels of abstraction;
  • separate design from implementation details;
  • infer from first principles how systems work;
  • assess the correctness, design, and style of code;
  • teach themselves new languages;
  • identify threats to privacy and security;
  • read documentation, drawing conclusions from specifications;
  • test solutions to problems, find faults, and identify corner cases;
  • describe symptoms of problems precisely and ask questions clearly; and
  • identify and quantify tradeoffs among resources, particularly time and space.

Ultimately, the course provides students with a foundation for further studies in computer science and empowers students to apply computer science to problems in other domains.

Computer Fundamentals

  • Computational Thinking
  • Topics in Computer Science

Computer Programming

  • Algorithm
  • C Programming Language
  • Decomposition, Pattern Recognition, Abstraction, and Algorithm
  • Program Constructs, Program Design, Top-down Stepwise Refinement
  • Program Compilation, Program Execution, Program Debug
  • Programming Style

Grading Policy (Draft)

Grades will be roughly computed as follows:

  • Problem Sets(40 % )
  • Mid-term Examination(20%)
  • Final Examination (40%)

Caution: 作业、上机实践、项目、考试,均要求自己独立完成。有剽窃嫌疑的,均按〇分处理!

Advice

Just do it

  • By yourself
  • By google
  • Ask professor for help

You have no rights to post comments