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, regardless of their major, to feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. The class will use the Python™ programming language.

 

Prerequisites

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

 

Goals

This subject has several related goals:

  • Provide an understanding of the role computation can play in solving problems.
  • Help students, including those who do not necessarily plan to major in Course VI, to feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals.
  • Position students so that they can compete for UROPs and excel in subjects such as 6.01.

Course Curriculum

Session 1
Lecture 1: Goals of the course; what is computation; introduction to data types, operators, and variables Details 00:53:00
Lecture 2: Operators and operands; statements; branching, conditionals, and iteration Details 00:51:00
Lecture 3: Common code patterns: iterative programs Details 00:51:00
Lecture 4: Decomposition and abstraction through functions; introduction to recursion Details 00:51:00
Lecture 5: Floating point numbers, successive refinement, finding roots Details 00:44:00
Session 2
Lecture 6: Bisection methods, Newton/Raphson, introduction to lists Details 00:50:00
Lecture 7: Lists and mutability, dictionaries, pseudocode, introduction to efficiency Details 00:46:00
Lecture 8: Complexity; log, linear, quadratic, exponential algorithms Details 00:50:00
Lecture 9: Binary search, bubble and selection sorts Details 00:47:00
Lecture 10: Divide and conquer methods, merge sort, exceptions Details 00:46:00
Session 3
Lecture 11: Testing and debugging Details 00:49:00
Lecture 12: More about debugging, knapsack problem, introduction to dynamic programming Details 00:50:00
Lecture 13: Dynamic programming: overlapping subproblems, optimal substructure Details 00:49:00
Lecture 14: Analysis of knapsack problem, introduction to object-oriented programming Details 00:51:00
Lecture 15: Abstract data types, classes and methods Details 00:50:00
Session 4
Lecture 16: Encapsulation, inheritance, shadowing Details 00:50:00
Lecture 17: Computational models: random walk simulation Details 00:49:00
Lecture 18: Presenting simulation results, Pylab, plotting Details 00:53:00
Lecture 19: Biased random walks, distributions Details 00:50:00
Lecture 20: Monte Carlo simulations, estimating pi Details 00:48:00
Session 5
Lecture 21: Validating simulation results, curve fitting, linear regression Details 00:54:00
Lecture 22: Normal, uniform, and exponential distributions; misuse of statistics Details 00:51:00
Lecture 23: Stock market simulation Details 00:51:00
Lecture 24: Course overview; what do computer scientists do? Details 00:43:00
Self Assessment
Assignments Details 01:30:00
Exams Details 03:00:00

Course Reviews

N.A

ratings
  • 5 stars0
  • 4 stars0
  • 3 stars0
  • 2 stars0
  • 1 stars0

No Reviews found for this course.

TAKE THIS COURSE
36 STUDENTS ENROLLED


SmithTips is a human capital organization that is aimed at being the bridge between academia and industry by working to build and develop the capacity of individuals and groups.

 Dansoman Atico, Accra, Ghana

(00) 233 260 734 574

info@mysmithtips.com

Last Tweets

Error retrieving tweets

Who’s Online

There are no users currently online
top
© 2016-2019 SMITHTIPS CO. LTD. | ALL RIGHTS RESERVED.
X