memory, logic and arithmetic operations, and functions Appreciation for the enabling role of programmable Fundamental concepts in data structure (e.g. data devices in technological systems and applications type, array, string, search, and sort) Ability to use an IDE to write, debug, load and run Ability to use UNIX as the operating system for code to solve engineering problems and to perform text editing, file management, and programming basic calculations, input and output Ability to utilize good programming practices to write Ability to write a code to implement algorithms efficient, clear, and maintainable code or solve problems Understanding of the operation of basic electronic Ability to analyze a given code, debug it, and components, sensors and actuators predict its output Ability to work effectively in teams Ability to communicate effectively in written and oral formats. III.B. Lecture Content Topics The novel course lectures are divided into 18 modules of varying lengths (Table II). The nine C programming modules are presented in similar order and cover similar material as the traditional course. The first module touches on most features of the language in a relatively superficial way and the remaining 8 modules explore each topic in greater depth. Since Unix/Linux operating system is a key component of the traditional course and the way homework assignments are submitted in the traditional introductory and intermediate courses, Module 10 is a specific introduction to Unix for the novel course. The eight hardware modules are typically much shorter than the programming modules and are inserted into the lectures as needed for the students to be successful in the laboratory. Table II. The C programming course module titles. 1 A crash course in C programming 10 Introduction to Unix 2 Data types 11 The Raspberry Pi and the GPIO 3 Operators 12 Introduction to basic circuit components 4 Program selection 13 Introduction to sensors 5 Repetition 14 Introduction to op-amps, diodes and transistors 6 Functions 15 The SPI interface 7 Arrays 16 Introduction to A/D converters 8 Input / output formatting 17 The I2C interface 9 File input / output 18 Introduction to mux/demux circuits Although the two courses held similar programming learning outcomes, it was apparent to several students interviewed that the novel course required additional material to learn compared to the traditional course. This appeared to affect how students self-selected for either course based on reputation. Although the novel course incorporated active learning pedagogies aimed at engaging
memory, logic and arithmetic operations, and functions Appreciation for the enabling role of programmable devices in technological systems and applications Fundamental concepts in data structure (e.g. data type, array, string, search, and sort) Ability to use an IDE to write, debug, load and run code to solve engineering problems and to perform basic calculations, input and output Ability to use UNIX as the operating system for text editing, file management, and programming Ability to utilize good programming practices to write efficient, clear, and maintainable code Ability to write a code to implement algorithms or solve problems Understanding of the operation of basic electronic components, sensors and actuators Ability to analyze a given code, debug it, and predict its output Ability to work effectively in teams Ability to communicate effectively in written and oral formats. III.B. Lecture Content Topics The novel course lectures are divided into 18 modules of varying lengths (Table II). The nine C programming modules are presented in similar order and cover similar material as the traditional course. The first module touches on most features of the language in a relatively superficial way and the remaining 8 modules explore each topic in greater depth. Since Unix/Linux operating system is a key component of the traditional course and the way homework assignments are submitted in the traditional introductory and intermediate courses, Module 10 is a specific introduction to Unix for the novel course. The eight hardware modules are typically much shorter than the programming modules and are inserted into the lectures as needed for the students to be successful in the laboratory. Table II. The C programming course module titles. 1 A crash course in C programming 10 Introduction to Unix 2 Data types 11 The Raspberry Pi and the GPIO 3 Operators 12 Introduction to basic circuit components 4 Program selection 13 Introduction to sensors 5 Repetition 14 Introduction to op-amps, diodes and transistors 6 Functions 15 The SPI interface 7 Arrays 16 Introduction to A/D converters 8 Input / output formatting 17 The I2C interface 9 File input / output 18 Introduction to mux/demux circuits Although the two courses held similar programming learning outcomes, it was apparent to several students interviewed that the novel course required additional material to learn compared to the traditional course. This appeared to affect how students self-selected for either course based on reputation. Although the novel course incorporated active learning pedagogies aimed at engaging
AEE_paper.docx