Prof Solis

 

Assistant Teaching Professor

Knight Foundation School of Computing and Information Sciences

Tiana Solis has been teaching at the Knight Foundation School of Computing and Information Sciences for over 20 years. She received her Bachelor and Master degrees in Computer Science from the State University of New York Institute of Technology at Utica/Rome in 1992 & 1994. Ms. Solis was a programmer analyst at the Department of The Attorney General in Hawaii in 2008-2010, a member of the team revamping the State Juvenile Justice Information System. Her research and instructional interests include student success and retention, distance learning, software development, and programming languages.

Learning Theory

Even though I have taught for a while, I do not ask myself often about my theory of learning. When I started teaching, my strategy was to meet the school’s curriculum regarding the learning goals and outcomes of the subject matter. However, I have usually found ensuring that students are learning challenging. Sometimes the superficiality of analyzing grades and metrics clouds the primary purpose of real education.

In the last four weeks, we read and discussed some globally respected and used standard theories in classroom learning, such as Behaviorism, Cognitivism, Constructivism, and Social- Constructivism, among others. Learning theories aim to explain the phenomenon of knowledge acquisition. Most literature defines learning as the process of acquiring new understanding, knowledge, behaviors, skills, values, attitudes, and preferences (Rogoff et al., 2003). It is an ongoing process that reminded me of my mother’s constant preaching when we were small that “life is a school” (Malagasy literal translation), and we must learn. It is the same principle as John Dewey’s quote: “Education is a social process; education is growth; education is not preparation for life but is life itself” (https://en.wikiquote.org/).

Revising and digging into these theories has given me a deeper understanding of how people learn. My definition of learning is the process of gaining information and somehow retaining the basics for later use when applicable, that is, knowing how to? For example, an international student learns how to transform regular verbs in English into past tense by adding – ed at the end. Learning happens when the person who acquires knowledge understands and knows how to use it. The methods of transmitting knowledge are different, as described in the various theories below.

With Behaviorism theory, learning is transmitting knowledge by reinforcing behaviors. Behaviorists theorize that knowledge is independent and on the exterior of the learner. Positive and negative reinforcement are practical tools of learning, behavior modification, and a punishment and reward system. It uses the stimuli response chain method.

Cognitivism is the theory of assuming that knowledge is already in the mind and learning is processing information through the internal mental mechanisms that make up thought and action. An effective way to teach it is to have learners conceptualize that knowledge. Cognitivism promotes individual learning. An example of this thinking is the Montessori approach to early education.

With Constructivism, learning is constructed from experience to have a personal meaning for the learner. So, it is unique to the individual learner. Students adapt their understanding models by reflecting on prior theories and knowledge. (Ertmer & Newy, 1993/2013).

Although these are different theories and use different methods, they are somehow interrelated, and each theory applies to different situations. In today’s education (21st century), where people rely on google for immediate answers to their questions or to learn about something, educators may not use just one learning theory over another but instead incorporate multiple theories throughout the learning experience.

What matters for supporting learning?

Each theory has strengths and limitations, but most emphasize the importance of collaboration and environment in learning. The educational space or classroom environment must be used to help students learn. Optimal student development requires an environment with a proper balance of challenge and support. This is challenging for the instructor as each student is different and learning about students requires time which is often limited. In an ideal world where the class size is manageable, an instructor would learn the students’ backgrounds to create an equitable and inclusive classroom environment and lecture. For instance, do the students have access to the internet or do they have their computers? So, when planning activities, there will be no assumption that everybody has the same tools.

My theory of learning is aligned with Constructivism. However, I still draw from behaviorism and cognitivism, especially when instructing my children or younger audience. My theory is geared toward college students (mostly first-year students and sophomores); learning is when students understand the discussed topic and can apply it. My goal is to provide a student- centered classroom and meet students where they are. Reading Wright (2019) reminded me of our education system’s “opportunity gaps” issue. The opportunity to learn is not equal for all students and often divides itself along racial and socioeconomic status.

 

References

Ertmer, P. & Newy, T. (1993/2013). Behaviorism, Cognitivism, Constructivism Comparing Critical Features from an Instructional Design Perspective. Newstetter, W. C., & Svinicki, M. D. (2015).

Rogoff, B., Paradise, R., Arauz, R. M., Correa-Chávez, M., & Angelillo, C. (2003). Firsthand Learning through Intent Participation. Annual Review of Psychology, 54, 175203. https://doi.org/10.1146/annurev.psych.54.101601.145118

Wright, C. G. (2016). Constructing a Collaborative Critique-Learning Environment for Exploring Science Through Improvisational Performance. Urban Education. https://doi.org/10.1177/0042085916646626

Teaching Philosophy

Teaching is a profession that I fantasized about as a child and pursued as I grew up. Society engraves the notion in people’s minds that a good education can uplift a person out of poverty and allow them access to many opportunities. That is even more emphasized in underdeveloped countries such as Madagascar, where I grew up.

The academic virtues ingrained into my childhood have contributed to my teaching philosophy, treating teaching as a structured facilitating and sharing of resources. To elaborate, before coming to the United States, I taught in the countryside of Antananarivo, the capital of Madagascar. At the time, the country mandated that high school graduates complete “National Service” before entering higher education locally or overseas. Although highly controversial (a forced gap year) and opposed by many, especially parents, the existence of “National Service” was engaging to fight against illiteracy. The project helped everybody involved as it was a form of cooperative learning.
On the one hand, young high school graduates learned about a separate way of life and interacted with people of different upbringings and livelihoods. On the other hand, countryside people learned how to read and write, an opportunity they may not have had access to otherwise. Even before learning about pedagogical theories and being exposed to professional development, my experiences in the countryside revealed two key factors: comfort and communication. As a teacher, a critical part of enhancing my students’ education was creating a comfortable, familiar environment for them to learn while supplying multiple means of communication among us.

Sample classroom setup

 

Teaching at Florida International University

Before becoming an online instructor due to department arrangement and personal reasons, I taught various undergraduate courses for majors and nonmajors students in Computer Science and Information Technology, including:

  • Programming I (COP2210)
  • Programming II (COP3337)
  • Programming III (COP4338)
  • Professional Ethics and Social Issues in Computing (CGS3092)
  • Introduction to Computing (CGS1920)
  • C for Engineers (CGS2423)
  • Introduction to Microcomputers (CGS2060)
  • Operating Systems (CGS3767)
  • Senior Project (CIS4911).

As a constructivist educator, my main objective is to provide students with tools that bring out their creativity and experiences, whether I teach an intro course or a capstone course. Besides the course contents, I believe in encouraging students to take the initiative, accept responsibility, and oversee their future as part of seeing education holistically. For instance, in most of my introduction classes, some assignments are LinkedIn courses that encourage them to use extra free resources available for FIU students, which are paid for by the institution. It has countless resources for many subjects, not only for my class, including wellness courses.

Another basis of my teaching philosophy is to learn from students. Understanding students’ backgrounds has helped me structure my class and teaching to meet students where they are; at least, that is the objective.

The student population is incredibly diverse where I teach, allowing educators to explore and use multicultural approaches in teaching. Crowdsourcing is among the tools I love in teaching my subjects. In her book, hooks stated that “blending multiple perspectives” is complex and unique but giving voice to every student is empowering and removes boredom which is the number one enemy in learning (hooks, 1994); this is a perspective that I cannot agree more with.

 

References

hooks, bell. (1994). Teaching to transgress: Education as the practice of freedom.
Routledge.

My Reflection

When I reflect on my teaching and pedagogy, I draw a parallelism between Computer Science and my journey, which is continually changing. Programs like Fortran and Pascal in my time, which were at the forefront of CS just 30 years ago, are now obsolete and replaced with newer programming languages like Python and Java. As a teacher, it is my duty to provide the quality education possible, which requires me to keep up with the newest trends and improve my knowledge and pedagogy to teach the next generation. I learned earlier in my career that teaching requires more than knowing the content. Computer Science needs humility, vulnerability, and patience. It also requires one to acknowledge their mistakes. After class, I reflect on my lectures, contemplating if I have effectively delivered the topic in discussion.

EGS6055 (Teaching and Learning) class – Snippet of  teaching and learning presentation

 

For the entire presentation, please check:
https://fiudit-my.sharepoint.com/:v:/r/personal/ssecules_fiu_edu/Documents/Courses/EGS%206055/ZOOM0008.MOV?csf=1&web=1&e=Kycus2

In the class presentation, I was co-teaching the “Algorithmic thinking” topic to high school students.  The objective is to introduce STEM-related courses to minority high school seniors participating in the Florida Action for Minorities in Engineering (FLAME) program.  Although my co-teacher and I have experience in teaching, we both learned valuable lessons from the presentation. We reviewed the video, read the students’ assessments, listened to the verbal feedback at the end of the class, and found some challenges.  We started the class with a pop activity (details elaborated under the class design section), assuming that students may need help to figure it out or complete it within the short given period.  Our idea was to introduce high school students to what may be seen as a complex question, but by looking at the pattern (teaching pattern recognition), it could be resolved quickly.  It did not work well as the instruction may be ambiguous; one student defined it as “a teacher wizard” problem. The second activity, “Kriss-Kross puzzle,” was more straightforward and, contrary to the first activity, seen as easy and given a longer time to complete.  Most students liked it (based on the assessment), but some did not see the topic’s relevance. The activity’s objective was to recognize patterns when solving problems, but the puzzle also provided keywords related to the algorithmic thinking topic.

Teaching Design

Importance and Background

Computing and technology are part of our daily life, and the high demand for professionals in the fields continues exponentially. Among the challenges educators face is how to effectively equip students with the foundations in computer science and programming applications and motivate them (Byrka et al., 2021).

Often students majoring in computing and related fields are initially interested in games and think that computing is all about coding. Hence, it is essential to introduce core concepts such as algorithmic thinking to students as early as possible. In simple terms, an algorithm is a set of steps for solving a given problem. People have used algorithms in their routines, such as getting from one place to another, cooking, and performing other daily tasks. Algorithmic thinking is looking at a problem in the bigger picture and understanding the components that allow one to produce a solution using available tools.

Context

Solving complex problems is overwhelming to most people, so for students without experience, it can become a roadblock or a turnoff to their intended career path (choosing a major). This course aims to introduce students planning to pursue computer science or related fields to foundational skills, such as algorithmic thinking, which is based on abstraction, decomposition, and pattern recognition. The goal is to exercise defining problems to be solved, divide them into subtasks and develop clear steps on how to get a correct solution.

Target Learner

The class is designed for senior high school or/and first-year students who have little or no experience in algorithmic thinking or programming in general. It is also a suitable class for non- STEM disciplines students who want to explore computing fields.

Students prefer a hands-on learning style in a lab or a space that allows them to use tools (computers, …). They prefer group activities instead of working alone.

 

Learning Goal

Among the course goals are for students to learn about

  • Abstraction: Perceive and define a problem at a higher level (big picture)

  • Decomposition: Divide a complex task into smaller sub-tasks

  • Develop an understanding of an algorithm: Build a sequential process to follow that produces a correct solution to a problem. Communicate and interpret non-ambiguous instructions

  • Engage and collaborate with others to design practical solutions to a problem (group activity): There are diverse ways to solve problems, but the goal is to design a practical algorithm.

Teaching Approach & Activities

  1. Although algorithmic thinking is part of the theory to equip students to solve complex problems, teaching such a theory to high school and first-year college students is challenging and overwhelming. Therefore, we intend to make them understand the core concepts of algorithmic thinking through practical activities.

These activities do not require computer or programming skills, meaning that the less technically experienced students can still understand the concepts of algorithmic thinking. After teaching them the basic theoretical concepts of algorithmic thinking, the students will be grouped in pairs and given an art-based activity. One student will be given a task they must describe to their partner, who executes it according to a set of defined rules. They will compare their results with the initial results to see how close they were to the desired outcome. There will also be a moment of reflection where each group will share their results with the class and their key takeaway from the activity. As a teacher whose teaching philosophy is rooted in social constructivism (Powell & Kalina, 2009), I believe that allowing the students to work in groups will enable them to develop a deeper understanding of algorithmic thinking.

Class Lesson

We will start by introducing the concept of algorithmic thinking and teaching the students how to decompose, abstract, and match patterns using an example they can relate to.

What is an Algorithm

A list of steps that you can follow to finish a task

Steps in Algorithmic problem solving

  • Decompose – Break a problem down into smaller pieces
  • Abstraction – Pulling out specific differences to make one solution work f or multiple problems
  • Pattern Matching – Finding similarities between things

Introductory Activity

This is an introductory activity on how students can follow a set of logically defined steps to arrive at a solution.

Students will have to sum up all the numbers between 1 & 200. Our body language will show that this is not a “serious” or graded exercise. However, we will have to let them know that they must do it all in their heads. A time constraint of thirty seconds will be added. They may feel overwhelmed, but this is intentional. We will show with our tone and demeanor that we might be crazy asking this of them but then proceed to start the stopwatch with a resounding: “Starting NOW”.

We will observe the class as we keep time. How many are lost in thought?

When the time is up, we will ask:

    • if anyone was able to get the total.
    • if there is anyone who thought the problem was so hard that they did not even try it.
    • If anyone attempted and did not finish? What did they try?

The student will be guided toward thinking a little smaller. If the problem is broken down into smaller pieces, then it becomes easier to manage. First, we start at the two ends.

    • What is 200 + 1?
    • What is 199 + 2?
    • What is 198 + 3?
    • See a pattern?
    • How many of these pairs do we have?
    • What is the last pair that we can find? 100 + 101

That means we have 100 pairs. If we have a total of 100 pairs, how do we find the final total?

    • What is 100 * 201?

Now, what if we wanted to apply this shortcut to find the sum of other numbers?

    • Can we do it easily with 500?
    • How about 10,000?
    • How about 100,000?
    • What stays the same? What is different?

If we apply abstraction to reach our end goal, then we can create a set of steps or algorithms let us say we write (n/2 )*(n+1) then we can make an algorithm that will work for any number.

    • Work through the problem until you get? = (n/2) * (n+1)
    • Do a few simple examples to show that the algorithm is correct for several numbers.

The goal is to show the students that if they use the tools of Computational Thinking (decomposition, pattern matching, abstraction, and algorithms), then they can figure out how to solve problems that no one has already taught them how to solve…just like we did here! This will be an extremely powerful skill for the rest of their life!”.

        Second Activity

        The second activity, as shown below, is an activity designed to develop logical thinking and pattern-matching skills so that the students can build their computational thinking skills in a fun way. For this activity, students will be completing a Kriss-Kross puzzle. The puzzle begins as an empty grid that must be filled using the list of supplied vocabulary words. Using logic and word patterns, the students will explore basic computational concepts. They will have to place the vocabulary words into the grid based on the number of letters and the letter placements on the grid itself. (So, let us say there is only one word that has three letters, which means that there is only one choice for it to be placed on the grid). The activity also supplies definitions of technical terms discussed in the lecture.

        Assessment

        At the end of the class, students will reflect on their performance by answering the following questions:

        • How do you approach a problem that you are asked to provide a solution to and do not know how?
        • How do you approach a problem that is too complex?
        • If a solution to different problems has similarities, what does that tell you?
        • What would you do if you have a problem similar to another one you have a solution for?

        Based on the assessment and their answers to the questions, the students will be assessed on how well they can:

        • Apply existing knowledge to generate new ideas, processes, or products.
        • Plan and manage activities to complete a project or develop a solution.
        • Use simulations and models to explore complex systems and issues.
        • Collaborate in project teams to solve problems.
        • Use diverse perspectives and multiple processes to explore alternative solutions
        Artifacts

        Educator carries different hats, which makes the job challenging yet rewarding. As I previously mentioned in my teaching philosophy, a teacher’s roles include but are not limited to teaching, mentoring, and advising.

        TeacherAsListener

        Tiana Solis_Thank_a_Prof_Sum2021

        1. References

          Byrka, M.F., Sushchenko, A.V., Svatiev, A., Mazin, V.M., & Veritov, O. (2021). A New Dimension of Learning in Higher Education: Algorithmic Thinking. Propósitos y Representaciones, 9, 990.

          Mohaghegh, D. M., & McCauley, M. (2016). Computational thinking: The skill set of the 21st century.

          Powell & Kalina. (2009). Cognitive and social constructivism: Developing tools for an effective classroom.