Monthly Archives: March 2019

Blog Post 3 (2/27/19)-Gabriel Garcia

Within Python, the program’s main function is its the ability towards identification and commands. The Python file, in layman’s terms, has two main parts, the coding identification, and the running program.

WIthin the coding and identification of the Python file, one must be clear and follow the necessary rules of code so that the system may be able to identify the commands instructed by the written program. In order for the program module to work, the student has to clarify what is to be included in their module, such as if they’re writing a sentence, they must identify the different sections as placeholders for what is to be written in by the computer’s command. Second, a student must identify what is to be inserted for these actions, whether a specific word or number, this is necessary for the program to work.

Finally, the student must then run the module and utilize the actions originally programmed within the first part, which allows for the program to run effieicently if all is done right.

Pushing Coding Education

The recent push for education in coding/programming in recent years is what struck me most about the reading. This struck me the most because of my lack of exposure to anything computer science related until high school. I did not notice any coding camps, school programs or anything else geared toward computer science until AP Computer Science, offered my senior year. Even then, the class was the first one ever taught at my high school. Even the professor was unfamiliar with the material.

Therefore, I had trouble situating the push for coding/programming. My time in high school definitely saw the advent of preoccupation with STEM, but computer science was oddly left out. Reading this article made me wonder why my school district did not push coding as much as other schools apparently do. This reflection did not really come to fruition, but it was an interesting thought.

The other aspect of our discussion that piqued my interest was the semantic difference and the different connotations of ‘coding’ versus ‘programming’. One thing apparent to me from the discussion was the hasty effort to teach people to code, as opposed to how to program. I suppose a main reason behind this endeavor would be the relative ease by which one can learn to code. We have learned a bit of coding in this class, but many complicated aspects of computer science related to programming remain foreign to us. On the other hand, teaching someone to program probably requires more effort and time, so it is less appealing as a means of giving people marketable skills in the workplace. However, this neglect undoubtedly will inconvenience people who learn to ‘code’ languages that may become obsolete.

TransTech and beyond

This week another groups article, Code Switch by Janet Abbat brings out some attempts at what making coding more accessible to many different types of communities might look like. I wanted to look more into TransTech and do some investigating on their website.  It is clear that they engage heavily with teaching computer coding to trans people and offer many job training packages. What I wanted to see, and I guess what Abat is claiming they do, is get trans identifying people jobs at technology firms. Whats missing from this respective website is how successful they are at this endeavor and what companies they have been able to reach. I also wanted more testimonials and clips of real people, perhaps some video updates of what past TransTech associates are doing.

I think, in all seriousness, that it will probably take more time than one conceptually wants to imagine to make these goals more mainstream and attainable in the computer science sector. I am also cautioned to believe what “diversity” does exist in the CS field. I have recently been in conversation with a friend currently taking a sociology course about Asian Americans and the significance in which even though they are largely represented in the computer cluster they are seldom ever anything other than entry level programmers or developers thus falling victim to these “model minority” tropes elicited by the technology cluster.

Coding Education is Necessary, but How?

The importance of coding education has been mentioned in the last decades. I heard that learning at least one computer language is helpful no matter what major I am in college. I also read an article that the future industry will be divided into those who have A.I., and those who don’t have A.I.

Two articles about coding education in public schools well reflected these social atmospheres. Coding education led by major companies like Facebook and Google is fostered in primary and secondary education. Parents already know that learning computer programming is the key to the future, and their children should learn it to prevent from falling behind.

I believe these trends are meaningful in that coding education allows computer and programming to be the shared legacy of all people. However, as discussed in the class, the distinction between coding and programming is definite and educators are necessary to more focus on programming. Coding is more close to mechanical technique, and programming is an understanding of how coding computer language works. Richtel wrote in the New York Times that “it is not clear that teaching basic computer science in grade school will (…) foster broader creativity and logical thinking.” To promote more constructive coding education, students need to be exposed to the fundamental mechanism of coding lied upon software and applications. This is similar to the emphasis on critical thinking and debating than just mechanically solving many numbers of problems in mathematics.

Teaching Coding and Who Gets Left Behind

During our group discussions on Monday, TJ raised points about the actual effectiveness of making initiatives teaching coding, in that even if it is promoted, there is still likely to be a disparity in outcomes by race. There are schools in black and Latinx communities that don’t even having working computers; these groups already begin with a disadvantage in access to technology in schools and digital literacy, and even if funding is given for coding education, that doesn’t mean that it will bridge the gap. This made me realize that, while Obama’s initiative seeks to create equal opportunity, much more has to be done for it to be reality.

There was also a point raised about differences between “coding” and “programming;” more specifically, the relative benefits of teaching how to work with a certain language and developing that way verses teaching students the underlying principles with problem solving. The latter would make it such that students would be able to adapt to changes even further, while the former might prepare for a job that might one day evolve past their capabilities or become obsolete.

Connecting these two threads to American history, specifically the space race of the 1960’s when the US government poured large sums of money into higher education to promote aerospace engineering, it seems the US has a history of creating large scale programs designed to promote the economy of the future while failing to address underlying systemic problems. There are students who already have the skills, and more important, resources necessary to become effective coders and programmers; these are the people who benefit from these programs. The students who they are probably intended for, meanwhile, have began with a late start. For computer science initiatives such as Obama’s to benefit the one’s who need opportunity the most, then it seems that more attention needs to be paid to underlying issues that have prevented development in the first place.

Blog Post 2 (2/13/19)-Image Representation-Gabriel Garcia

Within the study of Image Representation, it was demonstrated just how the concept works. In the set-up labs within the class, it was first started through explaining the concept of positive and negative integers used in order to represent the limit of an image. This is due to the limits of a 16-bit integer in how it is able to carry out an image.

Furthermore, in the case of distinction, there are forms of GIFs and the JPEG images. JPEG is the most common form of images, which are also used for digital cameras. They are adjustable through their compression and their sizing, in which either one can be correlated through commands upon the commands through a menu. GIFs, however, are different, as they cannot be changed on the basis of lossless compression mode, in which it cannot be changed in size, but this allows for smaller storage space.

In this matter, the lab shows the different forms of image file storage in which it demonstrates its variants in image storage and how it follows through so, as well as how much has an effect on Images and their properties of representation and storage.

Abbate

Through both drawing connections to and highlighting contrasts between intentions of the early computing era of the 1960s and the recent movement at the beginning of the 2010s, Abbate highlights the various methods of programming as what has for a long time and by many been declared a source of empowerment. In doing so, Abbate delves deeper into the true intentions of these movements.

In the 1960’s technological advancements in computing technology produced a manifold of social, economic, and educational impacts. Some touted a Utopian vision of computer programming jobs as a form of liberation for historically disadvantaged identity groups. Abbate problematizes that story with the voice of Walter DeLegall of Columbia University’s CS department who detailed the need for culturally relevant pedagogy.

At the time there was a relatively small labor market of computer programmers and the increasing demand for highly skilled labor. Over the course of that decade two learning languages, PLATO and LOGO were popularized as tools for teaching mathematical concepts and algorithmic thinking to children. Coding trade schools, with varying efficacy, were also developed and marketed to meet the growing demand for skilled labor. However, many social issues that coding claimed to solve were reproduced in the tech labor market.

After the 1960’s, programming was introduced everywhere. From elementary school to politics, movements like Code.org taught the young and old to program so they can fill the gaps in the digital economy. Since minorities had no insider knowledge of the job market, they were left behind. To fix this discrimination, identity-based institutions like #YesWeCode changed the goal of programming from one that fills jobs to one that fosters social change. Using the coding skills taught at these institutions, minorities could solve problems that affected their communities instead of building applications of no relevance to them.

Through outlining the true background of employing the empowerment argument as a push towards coding, beginning decades before the current coding movement, Abbate calls attention to the fact that this argument isn’t new. She notes that much like in many fields, “empowerment”  has acted as a front for other objectives or end games.

Towards the end of the document, Abbate infers that acknowledgment of the deep-rooted discrimination and divide in the computing world (among everywhere else) is needed and must be challenged at a broader level. Abbate herself sets this example by intentionally unifying and using the terms “programming” and “coding” interchangeably in an attempt to bridge the established divide between the words.

Sean: Body I and II

Luis: Body III and IV

Kate: Intro/conclusion 

 

O’Reagan 3/10

The 16th chapter of O’Reagan really focuses on very specific history of programming,notably languages.  The reading starts with machine languages, to assembly languages, to early high-level procedural languages such as FORTRAN and COBOL, to later high-level languages such as Pascal and C and to object-oriented languages such as C++ and Java. Programs themselves are classified in terms of generations and grow increasingly more advanced as each generation multiplies. There are 3 distinct types of programming languages; imperative, functional and logical. Imperative languages requires a specific instruction and action to be given to the computer and results in a change of state. The entry level class here, CSC 151 is an imperative problem solving pedagogy where the new programmer simply masters the skill of giving instruction to the computer. Functional programming languages, like Miranda, have no global state, and programs consist of mathematical functions that have no side effects.Logical programming languages, like Prolog, define what is to be computed, rather than how the computation is to take place.

The latter half of the reading delineated various other types of more advanced programming languages. There are Object-Oriented Languages, such as Python, C++ and Java. These languages operate using objects, which can be a set of attributes such as a list in Python. This particular type of computing was very revolutionary at its inception. Functional Programming Languages mainly analyze and evaluate mathematical formulas. Some examples of these languages include Miranda and Lambda Calculus. Finally, Logic Programming Languages use mathematical logic to denote the  problem itself rather than describe the process by which the problem will be solved. The objective is the important aspect in these languages, not how one arrives at the objective. Prolog is an example of a logic programming language. The chapter concludes with an introduction to the idea of Syntax and Semantics as it pertains to computers. Syntax is the order of various components of a computing language whereas semantics is the desired meaning or intended operation of the code.

TJ–> summarized first half and posted

Gray–>summarized second half

Coding Education

<Reading, Writing, Arithmetic, and Lately, Coding>

Coding education became nationally prevalent in public schools and the grade to learn coding gets lower as times goes. Most of the parents wanted their children to be prepared for the future, and do not fall back. Some schools were teaching coding as after-school programs, some other schools were taking coding as regulatory courses and it was a major requirement for graduation. While some experts expected a positive effect of being exposed to computer science from early ages, some educators concerned that few big companies were taking too much role in coding education.
In the course of action over the years that computers have evolved in use and influence, so has their role for within society. In the time, as with its main method of use, coding. In the time of computers becoming a part of everyday lives, children are more often than not influence to learn more about them through the education system, so as to follow through with early development. However, with all other things, there is a debate on just how much influence should activities that involve a computer should be within their growing lives, without being unhealthy. Opinions vary on such, but in the end, the influence computers will have on people’s lives will not stop.

 

The second reading we did was the transcript of a speech given by President Obama in a weekly address. He framed coding as a skill that was necessary for the future, one that should be taught in every school. He announced pushes by his administration to fund computer science programs in elementary and high schools. The funding would go towards resources for the actual classes along with teacher training. He promoted state and local initiatives that would accompany federal promotion of computer science. President Obama presented coding as a fundamental skill for a changing economy.
Obama’s Computer Science for All initiative acknowledges that learning how to write code is necessary for the digital economy, and seeks to make it accessible to students of all ages. It builds a national coalition in an attempt to rectify disparities. By using Queens and New Orleans as examples, Obama’s choice of words indicates a desire to make these skills attainable for minority communities which have been traditionally left behind, shooting for an equal playing field.

Gabriel -> Second paragraph of the first article
Sean ->First paragraph of the first article & editing and posting
Georgia ->First paragraph of the second article
Charles -> Second paragraph of the second article

Blog Post(1/30/19)-Linux Terminal-Gabriel Garcia

Reviewing back on one of the Linux Terminal,  I notice that through such, there is the matter of how computing is sustained. As with the multiple experiments an procedures, it demonstrates the complexity of computer programming. While it initially appeared to be a standard rule guideline, it was for this reason that the standard coding was introduced.

Through this, the coding introduced the step by step process in order to give us a sense of its workings. Computers, while highly advanced technology for this age, have always relied on coding as its main form of distinguishing commands, such as the simple form of addition and subtraction to correlate such. In such, however, the binary code used requires rules of addition and subtraction, as well as multiplication and subtraction in order to be fully capable to run a computer. All this is to ensure precise commands to any computer so that it is functional to it’s highest ability.