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
1 ee1301_f15_20150908 EE1301, Fall 2015, 2015-09-08, Lecture 1, Introduction  
2 ee1301_f15_20150910 cin, cout, int variables, simple math expressions 01_cout.cpp02_cin.cpp
3 ee1301_f15_20150915 Operator precedence, simple if-else 03_twodigits.cpp04_oddEven.cpp
4 ee1301_f15_20150917 Nested 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

5 ee1301_f15_20150922 More int, double examples, casting, intro to loops (while) See Sec. "Code Exmaples" below. Code 9-13
6 ee1301_f15_20150924 Miscellaneous operators (|| ! >> <<), While loop and counters, First attempt at the average problem See Sec. "Code Exmaples" below. Code 14-16
7 ee1301_f15_20150929 While loop (average of n numbers), if float==, for loops, prime numbers problem definition and strategy 1 See Sec. "Code Exmaples" below. Code 17-19
8 ee1301_f15_20151001 While loop, for loop. Prime numbers (versions 1,2,3) See Sec. "Code Exmaples" below. Code 20-24
9 ee1301_f15_20151006 for loop with empty body, counter var value after for, swapping two vars, base 8 to decimal conversion See Sec. "Code Exmaples" below. Code 25
10 ee1301_f15_20151008 finish base 8 program, #define, #ifdef, the polynomial program

See Sec. "Code Exmaples" below. Code 26-27.

See Lecture notes below 20151008

11 ee1301_f15_20151013 Polynomial, functions, local / Global Variables, switch construct, intro to Win32 Graphics See Sec. "Code Exmaples" below. Code 28-30.
12 ee1301_f15_20151015 Sample midterm problems, graphics See Sec. "Code Exmaples" below. Code 31-32.
13 ee1301_f15_20151022 Continue, graphics take 2, arrays See Sec. "Code Exmaples" below. Code 33-35.
14 ee1301_f15_20151027 2D Arrays

See Sec. "Code Exmaples" below. Code 36-40.

See Lecture notes 20151027.

15 ee1301_f15_20151029 Finish the soy production example (2D array), binary, hex, decimal conversion, pointers

See Sec. "Code Exmaples" below. Code 41-42.

See Lecture notes 20151029.

16 ee1301_f15_20151103 Bin, Hex, decimal conversions, negative numbers in binary, simple #define macros, ternary operator ? Code 43, notes 11/3
17 ee1301_f15_20151105 macros, 2's Comp, bitwise Operators, struct 44-46, notes 11/5
18 ee1301_f15_20151110 Atoms demo, struct, sorting, intro strings 47-49, notes 11/10
19 ee1301_f15_20151112 Strings take 2, simulation of planets: the framework, functions 50-52, notes 11/12
20 ee1301_f15_20151117 (1st half of the lecture) Functions 53-56
20 ee1301_f15_20151117z (2nd half of the lecture) Function: swap, pass by value, addr, reference 57-59
21 ee1301_f15_20151119 Functions, struct parameters, 1D array parameters, intro to 2D parameters 60-62, notes 11/19
22 ee1301_f15_20151124 2D array parameters in functions, soy example function version, recursive functions 62-67
23 ee1301_f15_20151201 Misc homework related issues (not allocating memory for arrays, bouncing ball getting outside the window frame, qsort function) code 68, notes 12/1
24 ee1301_f15_20151203 Shuffle 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_20151208 3D planet, atoms, strings (implementing myStrCat), pointers and intro to dynamic memory allocation notes 12/8
26 ee1301_f15_20151210 Mem allocation (1D array, 2D array), Intro Linked List 74-75
27 ee1301_f15_20151215 Recursive function calls (print 1..N), linked list notes 12/15
28 Linked Lists, Object-Oriented Programming (from spring 2015) Linked Lists, Object-Oriented Programming (from spring 2015)

76_printLinkedList.cpp

77_printLinkedListRecursive.cpp

78_class.cpp,

29 Classes and OOP (from spring 2015) Classes and OOP (from spring 2015) 79_class2.cpp
30 Classes and OOP (from spring 2015) Celestial objects example (from spring 2015)

80_celObjAsteroid.cpp

81_celObjRoundCelObj.cpp

82_celObj_this.cpp

31 STL (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

IoT Lab 2

IoT Lab 3

IoT Lab 4

 

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