You are on page 1of 8

MSYS 25: Introduction to Information Technology

Modules 4 & 5

4b. Programming Languages

- Programs – convert data into information


- Information: processed data, contains meanings, organized, computed
- Data: raw, random, inputs, facts, figures, simple
- Algorithms – (1) well-ordered collection, (2) unambiguous and effectively computable operations (clear, doable),
(3) produces a result (outputs, errors, approximations), (4) halts in a finite amount of time
- why not human language on computers: we speak differently, too much vocabulary, verbose, unclear structure
and sequences
- Programming Paradigms – models or frameworks, classify languages based on functions and uses; many
languages support more than one paradigms today; (1) features certain programming styles/technique with own
views, (2) a model of computation, (3) houses way of thinking when dealing with languages within the paradigm
- 1. Procedural Languages – looks like sequence of instructions that manipulate contents of memory
locations; differentiated by: (1) how each sentence is written, (2) how values are named and assigned, (3)
how program can break down into modules to handle separate tasks and share info; Basic, FORTRAN,
COBOL, Pascal, C
- 2. Object-Oriented Programming – collections of interacting objects, focusing on defining classes for objects
to interact with other objects; each class having attributes (“fields”); can create different instances of the
object; can have methods (things objects do); Java, C++, C#, Python; from procedural to OOP: PHP, Perl,
MATLAB; key concepts:
- Encapsulation – objects keep its states to self (other objects do not have access to them, can only call
methods to be declared public)
- Inheritance – relationships and sub-objects can be assigned; reuse common logic
- Abstraction – other objects need states or methods it will use, hides the rest
- Polymorphism – certain methods can have a number of ways to execute, depends on type of data
- 3. Functional Languages – view computations as functions; mostly to compute; LISP (list processing), Haskell
(general purpose, for graphics, networking, systems, big data statistics)
- 4. Logic Languages – facts assumed true then based on queries gives output/answers; fall under declarative
programming (make declarations that various facts are true; only tell what’s needed and not how to get
there); Prolog, knowledge-based languages; SQL (structured programming language, usually for databases)
- Generations – era, nature of devices that’ll read the languages; low-level doesn’t mean low quality; not all
computers can run all languages
- Low-level: 1st Gen Languages – machine languages; 0s & 1s
- Low-level: 2nd Gen Languages – Assembly Language for example; mnemonics and abbreviations for 0s & 1s
- High-level: 3rd Gen – includes procedural language, express logic and procedures to solve problem; some
have compilers (converts programs or source code into machine language or object code saved for later
uses); some have interpreters (like compilers but no saving of object codes)
- High-level: 4th Gen – solve specific problems, specific calculations, data-processing; require more special
training; specificity; functional languages, some OOP, logic languages
- Why many languages? each language = specific purpose or general use, varies unique types of software
(complicated science/math compu, business & accounting; data processing, storage, retrieval; graphics, video,
multimedia)
5a. Hardware

- Software – can only be seen through hardware; installed, run


- Hardware – physical, tangible equipment; can break down from computer, laptop, phones, etc.
- System Unit – encloses components contained within device; protection + unifier; desktops (PC, most
capable for modularity or customization), laptops, tablets, phone (portable, trickier to replace parts),
wearable devices (smart watches, trackers, etc.)
- Power Supplies Unit – computers require direct current to power components (from batteries, or indirectly
by converting alternating current from standard wall plugs); ideally same with or above total watt power
needed, too low = unexpected shutdowns, too much = costly; preferably one that indicates continuous
wattage one (long time) not a peak one; obtain from trustworthy
- Plus & Efficiency – how much energy makes up AC to DC power conversion; mostly 80%: Bronze, Silver,
Gold, Platinum, Titanium (94%)
- Factor in Budget (high rating, more cost-efficient in bills), Local electricity rates, Temperature
- Motherboards – control communication for whole computer system, acts as data path, monitors everything;
circuit boards with:
- Sockets – pins, securing mechanism holding processor in place, connects board to processing power ||
Slots – houses specialized cards, other boards; memory, video cards, storage slots || Bus lines –
subsystems between the insides; reduces communication pathways; internal bus lines connecting CPU
and memory to board, external bus lines catering to cameras, mouse, keyboards, devices
- Processing capacity – number of bits can be accessed at one time; 32 or 64-bit (can access more
memory, handle more tasks at given time) || Clock speed – times CPU can fetch and process data in a
second; higher = more powerful unit; gigahertz details (GHz) || Multicore processors – a number of
separate CPUs in a device (quad, octa-core/dual quad; NOT necessarily more core = faster but more core
helps keep system efficient, battery life, temperature, depends on what the device will be used for; high
price is not equal to more parts
- Central Processing Unit / Processors – brain of device; connected to motherboard, works alongside GPUs,
memories to process, others; AMD Ryzens 3, 5, 7, 9; Intel i3, i5, i7; best to check:
- GHz, CPU cores – deals with how many operations device can handle; higher = better = more processing
power = more costly; cores are independent processors: 1.5 GHz dual-core > 1.7 GHz single core
- Generation – latest = better; e.g., intel i5-8700 (8th gen)
- Memory – holding areas for data, instructions, info; dictates how many things can be run at given time
- Read-only Memory (ROM) – non-volatile storage (any info will remain even when device shutdown);
contains boot firmware (code directing startups and diagnostics)
- Random-Access Memory (RAM) – volatile, temporary storage of data and programs; increase RAM =
more processes handled at given time; utilizes cache memory (temporary high-speed holding area
between memory and CPU, used on most frequent tasks)
- Flash memory – combines RAM and ROM; used by Basic Input/Output System
- Graphics Processing Unit (GPU) – processors that focus on graphics-related, contains many calculations
- Video RAM (VRAM) – similar to RAM
- Boost clock – some GPU speed themselves to process heavier load
- Thermal Throttling – calms GPU down via cooling mechanics
- Memory Bandwidth – measured in gigabits per sec, connects GPU to VRAM; bigger = more effective
VRAM usage
- Bus Lines – connect parts of CPU to each other
- External Universal Serial Buses (USB) devices – connected to one another or to a hub, then to bus
- Peripheral Component Interconnections – provide single dedicate path for each service
- Ports – sockets for external devices for system unit to use; USB sockets, Ethernet/LAN cable sockets, VGA
(Video Graphics Adapter), HDMI (High Definition Multimedia Interface) connectors; MIDI (Music Instrument
Digital Interface) connecting external music devices to sound component
- Input Devices – give computer data/instructions; converts whatever human understands to what computer
understands; keyboard, pointing devices (mouse, touchpads, pen tools), scanners (bar codes, documents,
card readers), webcams, video capture devices, microphones
- Output Devices – give out processed data taking the form of text, graphics, photos, audio, video; hardware
that creates output that humans understand; printers, speakers, monitors
- Monitors
- Resolution – width & height in pixels; 1920 pixels wide X 1080 pixels high; 720p, 1080p, 2K, etc.…
- Aspect Ratio – relation of width to height; 4:3, 16:9, etc.
- Resolution should have same ratio as aspect ratio; 1280x720 for 16:9 but not for 800x600
- What to see depends on monitor’s capability to output higher resolution image (monitor size and
resolution)
- Refresh rate – mimics the different motions our eyes spot; higher = more details in motion, reduces
choppiness or stutters, smooth-flowing = coz more frames
- But higher refresh rate = more powerful graphics card; common are 30Hz, 60Hz, 120, 144; 120-144
better for gaming or multimedia editors
- Storage
- Primary – passes before any instruction is executed; RAM for example but it’s volatile, shutting down ->
info’s gone
- Secondary storages – can retain data even off; reading tasks access info from the storage, writing tasks
save info to them
- Hard Disks – metal platters stacked on top of each other; Internal (inside system unit, usually performs
routine tasks like backup, disk cleanups, optimization), External (used to backup files, portable)
- Solid State Drive (SSD) – kind of hard disk; not structured the same way as hard disks; data is stored and
retrieved electronically, provide access to flash memory; faster than devices with HDD
5b. Software

- Application Software – apps or end-user software; performs useful work, number of tasks; frequently used in
computer interactions; customizable (can be installed/removed), can function beyond system operations; has
own interface
- General Purpose Apps – efficient all-around; word processors, text-based software (Notepad, Word),
Spreadsheets, Presentation graphics, Databases (data storage)
- Specialized applications – more specific fields; Web authoring apps (website builders, coding environments),
Graphics-related apps (desktop publishing, layout apps, image/photo editors, illustrators), Multimedia apps
(for videos or audio), Games (development or actual games)
- Mobile applications – more portable; addon programs (already installed in new phones/tabs), base apps
(clocks, contacts, messaging)
- Systems Software – enables apps to interact with device software that helps manage device’s resources; various
operating systems, utility or service programs (resource or file managers), device drivers (proper com between
hardware and the apps using them), interpreters (software converting programming instructions into language
computers understand)
- Operating Systems – main functions: (1) manage computer resources (coordinate memory, processes,
storage, printers, monitors, etc.), (2) provide user interface (user interaction with app programs and
hardware), (3) run applications (loads, runs)
- (1) Stand-alone OS – controls single computer, usually located in hard disk
- Windows – easy to acquire, tricky to access settings to customize
- macOS – more forgiving in installing apps, more preferred by developers and designers
- UNIX & LINUX – initially designed for minicomputers; now for servers and supercomputers, has code
freely distributed; users have complete control on customization
- Android, iOS – mobile devices; less complicated than stand-alone but more specialized for wireless
communication
- (2) Network OS – coordinate communication of computers within network; network of routers, switches,
firewalls
- (3) Embedded/Real-time OS – for hand-held devices; TV boxes, gaming consoles; have own chips
- File systems – control how data is stored and retrieved, keeps track of file names and location; directories may
contain subdirectories nesting to multiple levels; metadata (details like file creation, last access, permissions,
attributes); no way to tell where info stops and next begins IF NO file system; some can be faster, with
additional security features, built for larger storage volumes
- FAT32 – for smaller storage devices (<1TB) or compatibility with cameras, consoles, older devices
- NTFS – modern FAT32
- HFS+ – for Macs, internal partitions
- Utility/Service Programs – tasks found in all devices, performing specific tasks for managing resources/files:
- Diagnostic/Troubleshooting – recognize, correct problems before becoming serious
- Uninstall – safe, complete removing programs and related files from hard drive
- Multi-booting (e.g., booting macOS on Windows using app)
- Defragmentation – sorts files, reorganizes -> all files connected to each other (since deleted files may
leave empty spaces between other files, to be filled up by only segments of incoming files)
- File deletion – delete/permanently delete removes file’s address but it’s still within the OS
- File erasure – hard-drive level, access is completely removed
5c. Networks & the Internet

- Networks and Connectivity allowed easier access to contact people; started with long network cables but now
wireless
- Computer communications – sharing data, programs, info between computers (includes phones, etc.); emails,
texts, videoconferences, electronic commerce
- Connectivity – related to using computer networks to link people and resources
- 3.5B users of phones, originally for voice com only but now it supports email, social networking, etc.
- WIRED
- Twisted pair cables – copper wires twisted together, for standard telephone lines, Ethernet cables
- Coaxial cables – replaces multiple wires with single solid-copper core; has over 80x transmission capacity of
twisted pair; for Cable TV
- Fiber-optic cables – transmit data as pulses of light through tiny glass tubes; recently 1 petabit per sec (1
petabit = 1M gigabits); lighter, faster, more reliable than coaxial
- Bytes – file sizes || bits – data transfer speed (1:8, 100Mbps = 12MBps); physics of cables, congestion,
distances also affect connection speed
- WIRELESS – cost-efficient
- Bluetooth – short-ranged (up to 33’) radio com standard
- Wi-Fi (wireless fidelity) – uses high-frequency radio signals; varies in data transfer speed, frequencies used
- Satellites – orbits about 22K miles above earth as microwave relay stations; bad weather can interrupt data
flow though (uplink, downlink); facilitates Global Positioning System (GPS) to uniquely determine geographic
location of device
- Connection Devices – facilitate connections on areas
- Modems (Modulator-demodulator) – computers can only understand digital (binary) signals not analog SO
modulation alters analog signal to encode binary info; demodulation split wave and digital info
- Digital Subscriber Line (DSL) modems – go through standard phone lines to create high-speed
connection directly to phone company’s offices
- Cable modems – go through same coaxial cable as TVs; both DSL and this connect to system unit via USB
or Ethernet port
- Wireless modems – almost all computers

- Bandwidth – rate of info transfer; how much info can move across; we can control it so other apps can have
share of network; more internet-needed tasks = internet speed decrease; connections provided by Internet
Service Providers (ISP):
- Dial-up – existing telephones and telephone modems
- DSL – existing telephone lines but different frequencies; Asymmetric DSL (ADSL) among mostly widely
used types
- Cables – can facilitate connections between devices
- Fiber-optic service (FiOS)
- Satellites to provide wireless connections; slower than DSL and cable but available almost anywhere
- Cellular providers support voice and data transmission to wireless devices
- Network classification by coverage
- Local Area Networks (LAN) – connect hardware devices in close
proximity; widely used by colleges, universities, orgs; can link
personal computers and share printers, other resources (e.g., file
servers)
- Metropolitan Area Networks (MAN) – for city area networks, treats
internet services as public utility
- Wide Area Networks (WAN) – across towns, countries; computer transmit messages to remote base station
(provided by telecom company), which may be located miles away

- Network Architecture and Strategies – describes how network is arranged, how resources are coordinated and
shared; with different topologies and strategies
- Network – connects two or more computers to exchange info and share resources; 3 parts:
- Nodes – any device connected to network (computer, printer, data storage device, etc.)
- Routers – nodes that forward or route data packets from one network to their destination in another
network
- Switches – central nodes coordinating flow of data by sending messages directly between sender and
receiver nodes

- Network Topology (physical arrangements of network)


- Bus – each device connected to common cable “bus” or “backbone”; whole network won’t shut down if one
node is cut off but will do if backbone is cut
- Ring – each node connected to two other devices, forming a ring to which data will be passed around the
nodes; easy to setup but not good if to scale eventually
- Star – each device connected to central network switch; when node sends data, it is routed to the switch
that passes the data along intended recipient; easier to scale (connecting more nodes is easy) but cutting
central will shut down everything
- Tree – Each node connected via central node (directly or through one or more other devices); often used to
share corporate-wide data; easy to spot errors but trickier if more nodes
- Mesh – each node has more than one connection to other nodes; if node fails, data will be rerouted but
setup is complex and expensive
- Hybrid – any combination; most flexible in planning but expensive

- Network Strategies (how data and info can flow)


- Client/Server – uses central computers to coordinate and supply services to other nodes on the network;
client is node that requests and uses resources available from other nodes; a server shares resources with
other nodes. Can handle large networks efficiently and provides powerful network management for
monitoring, controlling network activities; e.g., emails (certain software running on email servers that allows
admin to handle all email accounts hosted on that server)
- Peer-to-peer network – nodes as clients and servers; common way to share games, movies, music (file
sharing, torrents); easy and inexpensive, sometimes free, but lacks security controls or common
management functions
- Centralized processing – with help of terminal server, it centralizes network processing power in single
computer that can handle large number of connections; host can be any computer system connected to
network that provides access to resources; benefits of centralized location and control of technical
personnel, software, and data
- Distributed Processing – processing located and shared at different nodes; decentralized orgs
- Intranet – private network within org that resembles internet; for electronic telephone directories, email
addresses, employee benefit info, internal job openings, etc.
- Extranet – private network that connects more than one org; many orgs use internet technologies to allow
suppliers and others limited access to networks
- Firewall – hardware and software that control access to company’s intranet and other internal networks;
most use software or special computer “proxy server”; all com between company’s internal networks and
outside world pass through this server
- Intrusion detection systems (IDS) – analyzes incoming and outgoing network traffic, uses advanced pattern
matching and heuristics to recognize signs of network attack and disable access before intruder damages
- Virtual Private Networks (VPN) – secure private connections between remote user and org’s internal
network; helpful to ensure location is masked so as to access certain content not available on current
location

- Network Etiquette: Protocols (mutually agreed-upon rules and conventions for efficient data transfer; setup for
networks as multilayered hierarchy (where changes on any layer not necessarily causing change on others);
standard: TCP/IP

- Transmission Control/Internet Protocol (TCP/IP) – 5-layer


- One can find physical devices to facilitate the
connections
- Each layer has own set of tasks to deal with info flow
and processing; checking info start/end to handling
detection and bottleneck flows
- Each layer composed of other protocols
- Ports and IP Addresses
▪ IP address – identify the device
▪ Ports – identify application or service run;
common apps have own ports
• Port number can run from 0 to 65535
• Well-known/used ones run from 0 to 1024
• Certain reserved values: 1024-49151
• The rest are free to use by everyone else

- Hypertext Transfer Protocol (HTTP) – under application layer; has set of guidelines for end-user services
provided by network; handles how one can access websites
o utilizes Universal Resource Locators (URLs)
o methods that deal with website data: (1) GET and DELETE retrieves of deletes resources, (2) POST
changes data, (3) PATCH partially updates certain resource
o has HTTP replies with status codes: 200 OK, 400 Bad Request, 403 Forbidden, 404 Not Found, 400
Internal Server Error

- Internet Control Message Protocol (ICMP) – helps communicate error messages and status conditions within
networks; PING (packet internet groper) used to test if host is reachable (host can be another device) –
verifies if computer can communicate over network with another device; ping gives network latency between
player’s client and game server (lower ping = lower delay)

- Domain Naming System – each website has own IP address to


properly distinguish but memorizing numbers is hard so host
names are used, IP address equivalents; moodle.ateneo.edu;
subDomain.2ndLevelDoman.topLevelDomain

- Network Security
o Firewalls – programs and devices that control what info will get into private network; can be set on all
internet connection, implement rules on file transfer, web servers, comm, etc.; control what websites or
content certain devices can access (e.g., blocking social media sites when connected to worksite
internet)
o Virtual Private Networks (VPN) – encrypted tunnel between device and the remote server the VPN
operates; encryption is converting data into code (conceals important data and prevents unauthorized
access); masks location and identity because the device will have a different IP address
▪ why VPN: public Wi-Fi MAY see your activity; ISP can see online activity even in incognito; to
access websites blocked in region
o Securing websites: hacking
▪ Malicious code/viruses – from accessing website or downloading anything
▪ Ransomware – hacker publishes data as threat
▪ Phishing – scammers contact clients to pretend to be part of brand
▪ Outdated software used in the website
o Securing: ways
▪ Update software
▪ Install SSLs (Secure Socket Layer certificates) – can be found when website is https not http;
encrypts data passing anywhere in website; get from content management builders or from
hosts
▪ Anti-malware software; backup data; restrict file type uploads and sizes; implement file
renaming process
▪ Insert certain lines on codes for input fields to protect fields; hackers can access content by
inserting code based on specific field input
- Website Traffic – sudden influx of traffic causes website not to load properly or just crash – losing potential
customers/visitors
o Why happen? Requests can exceed processing capacity resources of system and any third-party
software as people access site
o Need capacity upgrade, make sure to distribute traffic properly
o Each step/maneuver in system adds strain to site: loading resources, etc.
o Usually happens on website events that attract a lot of people (sales, registrations, product launches)
o Ways to prevent: optimize performance by using resources that are not too large (images, certain fonts);
checking UX maneuvers (less is better); check for hardware and software upgrades especially if using
third-party application within website

You might also like