EE1301 "Intro to Computing Systems"

This is the archive of the class EE1301 "Intro to Computing Systems" taught by Kia Bazargan in the Fall 2015 semester at the University of Minnesota. Links to class videos are provided in the table below, along with supporting documents. Labs and discussion problems are provided after the video and documents table.

Syllabus (pdf)

Slides: Syllabus and intro.

Videos

Number Download File Contents Documents
1ee1301_f15_20150908EE1301, Fall 2015, 2015-09-08, Lecture 1, Introduction
2ee1301_f15_20150910cin, cout, int variables, simple math expressions01_cout.cpp, 02_cin.cpp
3ee1301_f15_20150915Operator precedence, simple if-else03_twodigits.cpp, 04_oddEven.cpp
4ee1301_f15_20150917Nested if else, logical expressions, intro to double/float Lecture notes: 20150917_if_num_bw_30_50.pdf, 05_wrong_num_bw_30_50.cpp, 06_num_bw_30_50_ifElseIf_almostCorrect.cpp, 07_num_bw_30_50_AND.cpp, 08_intDoubleAssignment.cpp
5ee1301_f15_20150922More int, double examples, casting, intro to loops (while)See Sec. "Code Exmaples" below. Code 9-13
6ee1301_f15_20150924Miscellaneous operators (|| ! >> <<), While loop and counters, First attempt at the average problemSee Sec. "Code Exmaples" below. Code 14-16
7ee1301_f15_20150929While loop (average of n numbers), if float==, for loops, prime numbers problem definition and strategy 1See Sec. "Code Exmaples" below. Code 17-19
8ee1301_f15_20151001While loop, for loop. Prime numbers (versions 1,2,3)See Sec. "Code Exmaples" below. Code 20-24
9ee1301_f15_20151006for loop with empty body, counter var value after for, swapping two vars, base 8 to decimal conversionSee Sec. "Code Exmaples" below. Code 25
10ee1301_f15_20151008finish base 8 program, #define, #ifdef, the polynomial programSee Sec. "Code Exmaples" below. Code 26-27. See Lecture notes below 20151008
11 ee1301_f15_20151013Polynomial, functions, local / Global Variables, switch construct, intro to Win32 GraphicsSee Sec. "Code Exmaples" below. Code 28-30.
12ee1301_f15_20151015Sample midterm problems, graphicsSee Sec. "Code Exmaples" below. Code 31-32.
13ee1301_f15_20151022Continue, graphics take 2, arraysSee Sec. "Code Exmaples" below. Code 33-35.
14 ee1301_f15_201510272D ArraysSee Sec. "Code Exmaples" below. Code 36-40. See Lecture notes 20151027.
15 ee1301_f15_20151029Finish the soy production example (2D array), binary, hex, decimal conversion, pointersSee Sec. "Code Exmaples" below. Code 41-42. See Lecture notes 20151029.
16ee1301_f15_20151103Bin, Hex, decimal conversions, negative numbers in binary, simple #define macros, ternary operator ?Code 43, notes 11/3
17 ee1301_f15_20151105macros, 2's Comp, bitwise Operators, struct44-46, notes 11/5
18 ee1301_f15_20151110Atoms demo, struct, sorting, intro strings47-49, notes 11/10
19 ee1301_f15_20151112Strings take 2, simulation of planets: the framework, functions50-52, notes 11/12
20ee1301_f15_20151117(1st half of the lecture) Functions53-56
20 ee1301_f15_20151117z(2nd half of the lecture) Function: swap, pass by value, addr, reference57-59
21 ee1301_f15_20151119Functions, struct parameters, 1D array parameters, intro to 2D parameters60-62, notes 11/19
22 ee1301_f15_201511242D array parameters in functions, soy example function version, recursive functions62-67
23ee1301_f15_20151201Misc homework related issues (not allocating memory for arrays, bouncing ball getting outside the window frame, qsort function)code 68, notes 12/1
24ee1301_f15_20151203Shuffle problem, recursive, strings. NOTE: THERE'S A BETTER SOLUTION TO THE SHUFFLE PROBLEM. Takes only O(N)69-73, notes 12/3
25 (no voice) ee1301_f15_201512083D planet, atoms, strings (implementing myStrCat), pointers and intro to dynamic memory allocationnotes 12/8
26 ee1301_f15_20151210Mem allocation (1D array, 2D array), Intro Linked List74-75
27ee1301_f15_20151215Recursive function calls (print 1..N), linked listnotes 12/15
28Linked Lists, Object-Oriented Programming (from spring 2015)Linked Lists, Object-Oriented Programming (from spring 2015) 76_printLinkedList.cpp, 77_printLinkedListRecursive.cpp, 78_class.cpp,
29Classes and OOP (from spring 2015)Classes and OOP (from spring 2015) 79_class2.cpp
30Classes and OOP (from spring 2015)Celestial objects example (from spring 2015) 80_celObjAsteroid.cpp, 81_celObjRoundCelObj.cpp, 82_celObj_this.cpp
31STL (from spring 2015)Standard Template Library (from spring 2015) 83_stl.cpp, jiangHu_STLintro.ppt,

Selected End of Semester Project Videos:


Project demos from Fall 2015.

Project demos from Fall 2015.


Supporting material:


Lab Quick Lessons: http://z.umn.edu/11hm

IoT Lab 1: https://docs.google.com/document/d/1Wv8NiFzuJ27xj2nQ_xQENvspJ9DjQ_hwdcHhTmCkYYs/export?format=pdf

IoT Lab 2: https://docs.google.com/document/d/1iXNBGowpV0DtoE92RjBOXBf_g1IXt3liqAvOXI-PCz0/export?format=pdf

IoT Lab 3: https://docs.google.com/document/d/1SUsruREyskFwxlyz9A-HknyszFTcVkA3Mre4JRVTq_k/export?format=pdf

IoT Lab 4: https://docs.google.com/document/d/1GEJ7nfNgGmwy8Z02Kh9ogiJtI_E3uAkFR9OAJ-lcTSU/export?format=pdf


Lecture Notes:


20150917_if_num_bw_30_50.pdf

20151008_polynomial.pdf

20151027_2D_Arrays.pdf

20151029_pointers_hexBinDecimal.pdf

20151103_hexBinDecimalNegativeNumbers.pdf

20151105_2sComplement_bitwiseOperators.pdf

20151110_struct_sorting.pdf

20151112_funcStack.pdf

20151117_func.pdf

20151119_1D_2D_arrayAddrCalculation.pdf

20151201_arrayAlloc_bouncingBall_shuffleProblem.pdf

20151203_calsPressure_shuffleProblem_recursiveCallMyPow.pdf

20151208_imageProc.pdf

20151215_recursivePrint1N_linkedList.pdf


Code Examples Used in Lectures:


01_cout.cpp

02_cin.cpp

03_twodigits.cpp

04_oddEven.cpp

05_wrong_num_bw_30_50.cpp

06_num_bw_30_50_ifElseIf_almostCorrect.cpp

07_num_bw_30_50_AND.cpp

08_intDoubleAssignment.cpp

09_miscCastingDoubleInt.cpp

10_ratio_ver1.cpp

11_ratio_ver2.cpp

12_loopEatCandy.cpp

13_loop_printHelloThreeTimes.cpp

14_misc.cpp

15_whileCounterUpDn.cpp

16_whileAvgFirstAttempt.cpp

17_float_if==.cpp

18_avgVer1.cpp

19_avgVer2.cpp

20_forLoops.cpp

21_prime_ver1.cpp

22_prime_ver2.cpp

23_prime_ver2b.cpp

24_prime_ver3.cpp

25_base8ToDecimal.cpp

26_base8_complete.cpp

27_baseConv_DEFINE.cpp

28_polynomial.cpp

29_functionsLocalGlobalVariables.cpp

30_switch.cpp

31_midterms15_p1.cpp

32_movingRectangle_graphics_Win32Project2.cpp

33_movingRectBounce_Win32Project2.cpp

34_arrayPrintReverse.cpp

35_arrayScalarVectorMult.cpp

36_2dArray.cpp

37_addMatrices.cpp

38_printTranspose.cpp

39_copyTranspose.cpp

40_soyProduction_ver1.cpp

41_soyProd.cpp

42_pointers.cpp

43_ternaryOp_Macros.cpp

44_macros.cpp

45_bitwise.cpp

46_struct.cpp

47_struct2.cpp

48_struct3.cpp

49_string.cpp

50_string2.cpp

51_function1.cpp

52_function2.cpp

53_myPow1.cpp

54_myPow2.cpp

55_myPow3.cpp

56_myPow4.cpp

57_swap_wrong.cpp

58_swap_c_version.cpp

59_swap_cPlusPlus_version.cpp

60_funcStructParam.cpp

61_func_vectorAdd_ArrayParameter.cpp

62_func_findElementInArray.cpp

63_func_2D_arrayParam.cpp

64_func_soyExample.cpp

65_func_recursive_factorial.cpp

66_funcRecursive_power.cpp

67_funcRecursivePowerCharPwr.cpp

68_qsort.cpp

69_myPowNeg_1.cpp

70_myPowNeg_2.cpp

71_commandLineArguments.cpp

72_myStrlenArray.cpp

73_myStrlenPtr.cpp

74_myStrCat.cpp

75_memAllocation.cpp