What we teach

Computers and software are creations of the human mind and are rooted in our ways of thinking, right down to most basic concepts of true/false, decision trees, creating arbitrary groups and "if this, then that." People have always thought in these ways, across time and cultures, so it is understandable human tools for thinking resemble human thought itself.

But the structure, discipline and vocabulary of artificial languages intimidate many who hope to learn coding. New Americans Code seeks to ease the entry for students into this difficult area, by first ensuring students understand the basic thought processes underlying Object Oriented Programming and artificial languages. Once students have a firm grasp of basic thought process, the curriculum will move to instruction of languages such as HTML, CSS, JavaScript, PHP, etc.

New Americans Code teaches the basics. Classes are generally held at a convenient location on the Boise Bench, where many refugees live. Classes will be held from 6 p.m. to 9 p.m., Monday through Thursday, for 12 weeks, for a total of 144 hours of instruction. Those who graduate the program will be eligible to start as trainee junior developers, or they will be prepared to pursue in-depth instruction at Boise CodeWorks or some other private or public school.

The curriculum of New Americans Code consists of the following:

  • How servers store information and how a browser assembles a Website by executing the instructions in HTML, CSS, JavaScript and other files.
  • Principles of Object-Oriented Programming (OOP) and the relationship between objects, properties, values, methods, functions and prototypes.
  • HTML5 and CSS3, including the Document Object Model and element nodes; inheritance and child/parent/sibling nodes; element, class, id and descendant selectors; common element attributes, properties and values; inline; embedded and linked styling; escape characters; responsive design and creating forms.
  • JavaScript, including variables; object types; data types; arrays and nested arrays; built-in functions such as looping, time, calculating and working with strings; creating functions and methods; prototyping and constructor function; scope; manipulation of DOM elements; JavaScript Object Notation; Boolean, numeric, string, array object and null data types; dynamic data typing; form validation and regular expressions (regex).
  • PHP and MySQL, including construction of a simple database that can receive and send information from a Web page.
  • Frameworks such as jQuery and Bootstrap, and how they expand and make it easier to use the languages they build on.
  • Services that developers use, such as Git version control, browser developer tools, the console, Sourcetree, Slack and Filezilla.
  • Creating Github repositories and LinkedIn accounts, to establish a presence in the development community.

Students also design and create, from scratch, a project to demonstrate their skills. This could be a personal profile “mini-website," to remain at newamericanscode.com indefinitely. Or, they may construct a Website for a local business, charity or other cause. A typical instructional session will consist of lecture and demonstration, online exercises from Free Code Camp , Code Academy , etc., and then application of those concepts on their personal PROJECT. We will encourage students to challenge and help the instructor and each other as they learn, study and apply their knowledge.

Web development and coding are uniquely enjoyable to teach and learn. Even with just limited and basic understanding, students will find themselves creating Web pages and their accomplishments, mistakes and applied competence are immediately visible. Within the world of coding and computers, there is always a way to solve any problem, if one has the persistence, imagination and command of the tools. Frequently in life, this is not so. The tractability of Websites and coding provides a sense of comfort and stability that draws many to the profession, despite its high learning curve.

How we teach - pedagogy

Teaching non-native English speakers specialized, technical subjects is an emerging instructional area. Refugees may be viewed as one component in the globalizing of education. The globalizing of education has increased along with the Internet and now, anyone in the world may access curriculum that people in other nations produce - a person in Mongolia may study online at MIT.

Sometimes, though, globalization results from involuntary choices. Currently, religious violence has created millions of refugees who may have been high-functioning/high-aptitude members of their native societies, but now find themselves on the bottom rung in a new society. They are now pursuing education in liberal western democracies, with the additional challenge of learning a new language and culture.

“With the globalisation of education, large numbers of students with interrupted schooling and low English literacy levels represent both a quantitative and qualitative shift in the kinds of students faced by teachers in classrooms.” (Consortium for Policy Research In Education, 2014)

Technical language, including its specialized vocabulary, is inaccessible to many high-functioning refugees without assistance. Educators recommend a “language-focused” approach, including explaining/applying new terminology. We appreciate the recommendations of the British Council report "Innovations in English language teaching for migrants and refugees." Education professionals in this report emphasize the social role in language/instructional pedagogy. We apply these at New Americans Code:

  • Students do not acquire knowledge strictly though cognitive means. Rather, language and learning are also a social-cooperative phenomenon.
  • Social contexts and interactions play a great role in learning, understanding and applying classroom knowledge.
  • Instructors should recast technical concepts, either through peer correction and discussion, so students may more easily understand them.
  • Instructors should work with students to "recycle" the language and get learners to use and apply the language in the original context, and also in other contexts. The more learners are involved in identifying these contexts, the better.

While online education is becoming more popular, students generally prefer face-to-face instruction (Communication Currents, 2008), particularly for technically difficult subjects. In theory, refugees could access many different and multilingual online learning resources for coding, but this doesn’t appear to be a significant phenomenon in the Boise, Idaho area, and perhaps other areas as well. Given the difficulty of learning computer languages, and the difficulties refugees already face learning English, we conclude carefully considered, in-person instruction may be effective in training refugees to code.