SlideShare a Scribd company logo
Computer Engineering
By Sethmi Kachchakaduge, Kevin Adams, Kimi Hirano
Overview
● Intro
● Project Description
o Building the platform
o Example Code
o Flappy Fly Code
● Analysis
o Challenges
o What we learned
Intro to Computer Engineering
● Combines fields of electrical engineering and
computer science to develop computer
hardware and software
● More focus on digital systems
● Programming
Project Description
● Created “Flappy Fly”
o Version of Flappy Bird
o Swift
● Programmed code
o Xcode
● SpriteBuilder
o Built in parts
o Location control
Building the platform
● Spritebuilder
o Background
o Ground
o Obstacles
o Hero
o Nodes
o Physics
Computer Engineering (Programming Language: Swift)
Coding Basics
● Basic Comparators (==, >, <, >=, <=)
● Basic Operators (=, +=, -=, *=, /=, %=)
● Variables
● Logic
o if and else
o True and False
Example
• Var flappyFly = 6
• flappyFly > 7 ‘false’
• flappyFly < 7 ‘true’
• If (flappyFly>4){
• ‘flappyFly+=1’
• }
• Else {
• “flappyFly does nothing”
• }
Control Flow
● For loops
● For in loops
● While loops
● Do while loops
Flappy Fly Code
● Variable Ex
o var_gameOver = false
● Function Ex
○ func spawnNewObstacle() {
var prevObstaclePos = _firstObstaclePosition
if _obstacles.count > 0 {
prevObstaclePos = _obstacles.last!.position.x
}
● For loop Ex
o for ground in _grounds {
// get the world position of the ground
let groundWorldPosition = _physicsNode.convertToWorldSpace(ground.position
// get the screen position of the ground
let groundScreenPosition = self.convertToNodeSpace(groundWorldPosition)
// if the left corner is one complete width off the screen, move it to the right
Computer Engineering (Programming Language: Swift)
Final Game
Challenges
● Inserting code in proper location
● Understanding the code
● Correctly following building process
What we learned?
● Different syntax
● Order matters
● Patience
● Simplified code
Thank You
Ad

More Related Content

What's hot (18)

1 c introduction
1 c introduction1 c introduction
1 c introduction
suresh rathod
 
2019 session 5 describe different basic programming codes and languages
2019 session 5 describe different basic programming codes and languages2019 session 5 describe different basic programming codes and languages
2019 session 5 describe different basic programming codes and languages
Osama Ghandour Geris
 
iOS for Android Developers (with Swift)
iOS for Android Developers (with Swift)iOS for Android Developers (with Swift)
iOS for Android Developers (with Swift)
David Truxall
 
175035 cse lab-05
175035 cse lab-05 175035 cse lab-05
175035 cse lab-05
Mahbubay Rabbani Mim
 
Nella mente di un alchimista
Nella mente di un alchimistaNella mente di un alchimista
Nella mente di un alchimista
Nicola Fiorillo
 
PyData Amsterdam 2018 – Building customer-visible data science dashboards wit...
PyData Amsterdam 2018 – Building customer-visible data science dashboards wit...PyData Amsterdam 2018 – Building customer-visible data science dashboards wit...
PyData Amsterdam 2018 – Building customer-visible data science dashboards wit...
Uwe Korn
 
The present and the future of functional programming in c++
The present and the future of functional programming in c++The present and the future of functional programming in c++
The present and the future of functional programming in c++
Alexander Granin
 
Categories for the Working C++ Programmer
Categories for the Working C++ ProgrammerCategories for the Working C++ Programmer
Categories for the Working C++ Programmer
Platonov Sergey
 
Functional programming-advantages
Functional programming-advantagesFunctional programming-advantages
Functional programming-advantages
Sergei Winitzki
 
CSC – 184 Programming C
CSC – 184 Programming CCSC – 184 Programming C
CSC – 184 Programming C
ABIR A HAPZU
 
Monadic parsers in C++
Monadic parsers in C++Monadic parsers in C++
Monadic parsers in C++
Alexander Granin
 
Practical no 1
Practical no 1Practical no 1
Practical no 1
Kshitija Dalvi
 
Program Verification / Automated Theorem Proving
Program Verification / Automated Theorem ProvingProgram Verification / Automated Theorem Proving
Program Verification / Automated Theorem Proving
lokeshwer2
 
Prefix Postfix
Prefix PostfixPrefix Postfix
Prefix Postfix
Kulachi Hansraj Model School Ashok Vihar
 
CPP Quiz
CPP QuizCPP Quiz
CPP Quiz
Felix Morgner
 
APTECH
APTECHAPTECH
APTECH
Devender Jindolia
 
Enginering Example
Enginering ExampleEnginering Example
Enginering Example
GaryDeanCo
 
C++ Corehard Autumn 2018. Обучаем на Python, применяем на C++ - Павел Филонов
C++ Corehard Autumn 2018. Обучаем на Python, применяем на C++ - Павел ФилоновC++ Corehard Autumn 2018. Обучаем на Python, применяем на C++ - Павел Филонов
C++ Corehard Autumn 2018. Обучаем на Python, применяем на C++ - Павел Филонов
corehard_by
 
2019 session 5 describe different basic programming codes and languages
2019 session 5 describe different basic programming codes and languages2019 session 5 describe different basic programming codes and languages
2019 session 5 describe different basic programming codes and languages
Osama Ghandour Geris
 
iOS for Android Developers (with Swift)
iOS for Android Developers (with Swift)iOS for Android Developers (with Swift)
iOS for Android Developers (with Swift)
David Truxall
 
Nella mente di un alchimista
Nella mente di un alchimistaNella mente di un alchimista
Nella mente di un alchimista
Nicola Fiorillo
 
PyData Amsterdam 2018 – Building customer-visible data science dashboards wit...
PyData Amsterdam 2018 – Building customer-visible data science dashboards wit...PyData Amsterdam 2018 – Building customer-visible data science dashboards wit...
PyData Amsterdam 2018 – Building customer-visible data science dashboards wit...
Uwe Korn
 
The present and the future of functional programming in c++
The present and the future of functional programming in c++The present and the future of functional programming in c++
The present and the future of functional programming in c++
Alexander Granin
 
Categories for the Working C++ Programmer
Categories for the Working C++ ProgrammerCategories for the Working C++ Programmer
Categories for the Working C++ Programmer
Platonov Sergey
 
Functional programming-advantages
Functional programming-advantagesFunctional programming-advantages
Functional programming-advantages
Sergei Winitzki
 
CSC – 184 Programming C
CSC – 184 Programming CCSC – 184 Programming C
CSC – 184 Programming C
ABIR A HAPZU
 
Program Verification / Automated Theorem Proving
Program Verification / Automated Theorem ProvingProgram Verification / Automated Theorem Proving
Program Verification / Automated Theorem Proving
lokeshwer2
 
Enginering Example
Enginering ExampleEnginering Example
Enginering Example
GaryDeanCo
 
C++ Corehard Autumn 2018. Обучаем на Python, применяем на C++ - Павел Филонов
C++ Corehard Autumn 2018. Обучаем на Python, применяем на C++ - Павел ФилоновC++ Corehard Autumn 2018. Обучаем на Python, применяем на C++ - Павел Филонов
C++ Corehard Autumn 2018. Обучаем на Python, применяем на C++ - Павел Филонов
corehard_by
 

Viewers also liked (20)

Computer programming
Computer programmingComputer programming
Computer programming
Sujay Raj
 
Computer Science Engineering
Computer Science EngineeringComputer Science Engineering
Computer Science Engineering
ITM University, Raipur
 
01 computer programming
01 computer programming01 computer programming
01 computer programming
manish aryal
 
Gate computer-science-engineering-&-information-technology
Gate computer-science-engineering-&-information-technologyGate computer-science-engineering-&-information-technology
Gate computer-science-engineering-&-information-technology
pankaj011
 
Seminario 6
Seminario 6Seminario 6
Seminario 6
AnaRomLop
 
Apple MacBook Air vs ASUS ZENBOOK
Apple MacBook Air vs ASUS ZENBOOKApple MacBook Air vs ASUS ZENBOOK
Apple MacBook Air vs ASUS ZENBOOK
JJ Wu
 
Lecture#2 Computer languages computer system and Programming EC-105
Lecture#2 Computer languages computer system and Programming EC-105Lecture#2 Computer languages computer system and Programming EC-105
Lecture#2 Computer languages computer system and Programming EC-105
NUST Stuff
 
Program Logic Formulation - Ohio State University
Program Logic Formulation - Ohio State UniversityProgram Logic Formulation - Ohio State University
Program Logic Formulation - Ohio State University
Reggie Niccolo Santos
 
Tension(multimedia
Tension(multimediaTension(multimedia
Tension(multimedia
Juanca Vergel
 
Basics of computer engineering and Networking
Basics of computer engineering and NetworkingBasics of computer engineering and Networking
Basics of computer engineering and Networking
Pankil Agrawal
 
Presensia marsh
Presensia  marshPresensia  marsh
Presensia marsh
vrushali patil
 
Computer Engineering Workshop
Computer Engineering WorkshopComputer Engineering Workshop
Computer Engineering Workshop
Cesar Martinez
 
C++ for beginners
C++ for beginnersC++ for beginners
C++ for beginners
Salahaddin University-Erbil
 
Lecture 19 matlab_script&function_files06
Lecture 19 matlab_script&function_files06Lecture 19 matlab_script&function_files06
Lecture 19 matlab_script&function_files06
Aman kazmi
 
Information about computer engineering
Information about computer engineeringInformation about computer engineering
Information about computer engineering
gargee123
 
Apt programming
Apt programmingApt programming
Apt programming
Vemulapalli Das
 
Lab 5 array
Lab 5 arrayLab 5 array
Lab 5 array
mkazree
 
Use of computer programming in animal diet formulation
Use of computer programming in animal diet formulationUse of computer programming in animal diet formulation
Use of computer programming in animal diet formulation
Milling and Grain magazine
 
DISE - Programming Concepts
DISE - Programming ConceptsDISE - Programming Concepts
DISE - Programming Concepts
Rasan Samarasinghe
 
Design and Fabrication of Unmanned Aerial Vehicle PIEAS University Islamabad...
Design and Fabrication of Unmanned Aerial Vehicle PIEAS  University Islamabad...Design and Fabrication of Unmanned Aerial Vehicle PIEAS  University Islamabad...
Design and Fabrication of Unmanned Aerial Vehicle PIEAS University Islamabad...
Mazhar93
 
Computer programming
Computer programmingComputer programming
Computer programming
Sujay Raj
 
01 computer programming
01 computer programming01 computer programming
01 computer programming
manish aryal
 
Gate computer-science-engineering-&-information-technology
Gate computer-science-engineering-&-information-technologyGate computer-science-engineering-&-information-technology
Gate computer-science-engineering-&-information-technology
pankaj011
 
Apple MacBook Air vs ASUS ZENBOOK
Apple MacBook Air vs ASUS ZENBOOKApple MacBook Air vs ASUS ZENBOOK
Apple MacBook Air vs ASUS ZENBOOK
JJ Wu
 
Lecture#2 Computer languages computer system and Programming EC-105
Lecture#2 Computer languages computer system and Programming EC-105Lecture#2 Computer languages computer system and Programming EC-105
Lecture#2 Computer languages computer system and Programming EC-105
NUST Stuff
 
Program Logic Formulation - Ohio State University
Program Logic Formulation - Ohio State UniversityProgram Logic Formulation - Ohio State University
Program Logic Formulation - Ohio State University
Reggie Niccolo Santos
 
Basics of computer engineering and Networking
Basics of computer engineering and NetworkingBasics of computer engineering and Networking
Basics of computer engineering and Networking
Pankil Agrawal
 
Computer Engineering Workshop
Computer Engineering WorkshopComputer Engineering Workshop
Computer Engineering Workshop
Cesar Martinez
 
Lecture 19 matlab_script&function_files06
Lecture 19 matlab_script&function_files06Lecture 19 matlab_script&function_files06
Lecture 19 matlab_script&function_files06
Aman kazmi
 
Information about computer engineering
Information about computer engineeringInformation about computer engineering
Information about computer engineering
gargee123
 
Lab 5 array
Lab 5 arrayLab 5 array
Lab 5 array
mkazree
 
Use of computer programming in animal diet formulation
Use of computer programming in animal diet formulationUse of computer programming in animal diet formulation
Use of computer programming in animal diet formulation
Milling and Grain magazine
 
Design and Fabrication of Unmanned Aerial Vehicle PIEAS University Islamabad...
Design and Fabrication of Unmanned Aerial Vehicle PIEAS  University Islamabad...Design and Fabrication of Unmanned Aerial Vehicle PIEAS  University Islamabad...
Design and Fabrication of Unmanned Aerial Vehicle PIEAS University Islamabad...
Mazhar93
 
Ad

Similar to Computer Engineering (Programming Language: Swift) (20)

不深不淺,帶你認識 LLVM (Found LLVM in your life)
不深不淺,帶你認識 LLVM (Found LLVM in your life)不深不淺,帶你認識 LLVM (Found LLVM in your life)
不深不淺,帶你認識 LLVM (Found LLVM in your life)
Douglas Chen
 
Critical software developement
Critical software developementCritical software developement
Critical software developement
nedseb
 
Code metrics in PHP
Code metrics in PHPCode metrics in PHP
Code metrics in PHP
Julio Martinez
 
More about PHP
More about PHPMore about PHP
More about PHP
Jonathan Francis Roscoe
 
lec7-program-verification.pdf
lec7-program-verification.pdflec7-program-verification.pdf
lec7-program-verification.pdf
farouqalfuhidi
 
Intro to Arduino Programming.pdf
Intro to Arduino Programming.pdfIntro to Arduino Programming.pdf
Intro to Arduino Programming.pdf
HimanshuDon1
 
Go. why it goes v2
Go. why it goes v2Go. why it goes v2
Go. why it goes v2
Sergey Pichkurov
 
Andrii Soldatenko "Competitive programming using Python"
Andrii Soldatenko "Competitive programming using Python"Andrii Soldatenko "Competitive programming using Python"
Andrii Soldatenko "Competitive programming using Python"
OdessaPyConference
 
Design Patterns in Modern C++
Design Patterns in Modern C++Design Patterns in Modern C++
Design Patterns in Modern C++
Dmitri Nesteruk
 
How to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the CloudHow to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the Cloud
Chris Schalk
 
A Python Tutorial
A Python TutorialA Python Tutorial
A Python Tutorial
Kartik Singhal
 
Mender.io | Develop embedded applications faster | Comparing C and Golang
Mender.io | Develop embedded applications faster | Comparing C and GolangMender.io | Develop embedded applications faster | Comparing C and Golang
Mender.io | Develop embedded applications faster | Comparing C and Golang
Mender.io
 
CG-Orientation ppt.pptx
CG-Orientation ppt.pptxCG-Orientation ppt.pptx
CG-Orientation ppt.pptx
1AT19CS125YeshwanthS
 
Discover GraphQL with Python, Graphene and Odoo
Discover GraphQL with Python, Graphene and OdooDiscover GraphQL with Python, Graphene and Odoo
Discover GraphQL with Python, Graphene and Odoo
Odoo
 
Open source report writing tools for IBM i Vienna 2012
Open source report writing tools for IBM i  Vienna 2012Open source report writing tools for IBM i  Vienna 2012
Open source report writing tools for IBM i Vienna 2012
COMMON Europe
 
Front-end God Mode with Reagent and Figwheel
Front-end God Mode with Reagent and FigwheelFront-end God Mode with Reagent and Figwheel
Front-end God Mode with Reagent and Figwheel
David Kay
 
Engineer Engineering Software
Engineer Engineering SoftwareEngineer Engineering Software
Engineer Engineering Software
Yung-Yu Chen
 
ooc - OSDC 2010 - Amos Wenger
ooc - OSDC 2010 - Amos Wengerooc - OSDC 2010 - Amos Wenger
ooc - OSDC 2010 - Amos Wenger
Amos Wenger
 
Exploring Raspberry Pi
Exploring Raspberry PiExploring Raspberry Pi
Exploring Raspberry Pi
Lentin Joseph
 
Lec15a1-Object-Oriented Development.ppt
Lec15a1-Object-Oriented Development.pptLec15a1-Object-Oriented Development.ppt
Lec15a1-Object-Oriented Development.ppt
emanamin19
 
不深不淺,帶你認識 LLVM (Found LLVM in your life)
不深不淺,帶你認識 LLVM (Found LLVM in your life)不深不淺,帶你認識 LLVM (Found LLVM in your life)
不深不淺,帶你認識 LLVM (Found LLVM in your life)
Douglas Chen
 
Critical software developement
Critical software developementCritical software developement
Critical software developement
nedseb
 
lec7-program-verification.pdf
lec7-program-verification.pdflec7-program-verification.pdf
lec7-program-verification.pdf
farouqalfuhidi
 
Intro to Arduino Programming.pdf
Intro to Arduino Programming.pdfIntro to Arduino Programming.pdf
Intro to Arduino Programming.pdf
HimanshuDon1
 
Andrii Soldatenko "Competitive programming using Python"
Andrii Soldatenko "Competitive programming using Python"Andrii Soldatenko "Competitive programming using Python"
Andrii Soldatenko "Competitive programming using Python"
OdessaPyConference
 
Design Patterns in Modern C++
Design Patterns in Modern C++Design Patterns in Modern C++
Design Patterns in Modern C++
Dmitri Nesteruk
 
How to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the CloudHow to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the Cloud
Chris Schalk
 
Mender.io | Develop embedded applications faster | Comparing C and Golang
Mender.io | Develop embedded applications faster | Comparing C and GolangMender.io | Develop embedded applications faster | Comparing C and Golang
Mender.io | Develop embedded applications faster | Comparing C and Golang
Mender.io
 
Discover GraphQL with Python, Graphene and Odoo
Discover GraphQL with Python, Graphene and OdooDiscover GraphQL with Python, Graphene and Odoo
Discover GraphQL with Python, Graphene and Odoo
Odoo
 
Open source report writing tools for IBM i Vienna 2012
Open source report writing tools for IBM i  Vienna 2012Open source report writing tools for IBM i  Vienna 2012
Open source report writing tools for IBM i Vienna 2012
COMMON Europe
 
Front-end God Mode with Reagent and Figwheel
Front-end God Mode with Reagent and FigwheelFront-end God Mode with Reagent and Figwheel
Front-end God Mode with Reagent and Figwheel
David Kay
 
Engineer Engineering Software
Engineer Engineering SoftwareEngineer Engineering Software
Engineer Engineering Software
Yung-Yu Chen
 
ooc - OSDC 2010 - Amos Wenger
ooc - OSDC 2010 - Amos Wengerooc - OSDC 2010 - Amos Wenger
ooc - OSDC 2010 - Amos Wenger
Amos Wenger
 
Exploring Raspberry Pi
Exploring Raspberry PiExploring Raspberry Pi
Exploring Raspberry Pi
Lentin Joseph
 
Lec15a1-Object-Oriented Development.ppt
Lec15a1-Object-Oriented Development.pptLec15a1-Object-Oriented Development.ppt
Lec15a1-Object-Oriented Development.ppt
emanamin19
 
Ad

Recently uploaded (20)

Frontend Architecture Diagram/Guide For Frontend Engineers
Frontend Architecture Diagram/Guide For Frontend EngineersFrontend Architecture Diagram/Guide For Frontend Engineers
Frontend Architecture Diagram/Guide For Frontend Engineers
Michael Hertzberg
 
Using the Artificial Neural Network to Predict the Axial Strength and Strain ...
Using the Artificial Neural Network to Predict the Axial Strength and Strain ...Using the Artificial Neural Network to Predict the Axial Strength and Strain ...
Using the Artificial Neural Network to Predict the Axial Strength and Strain ...
Journal of Soft Computing in Civil Engineering
 
sss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptx
sss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptx
sss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptx
ajayrm685
 
Slide share PPT of NOx control technologies.pptx
Slide share PPT of  NOx control technologies.pptxSlide share PPT of  NOx control technologies.pptx
Slide share PPT of NOx control technologies.pptx
vvsasane
 
David Boutry - Specializes In AWS, Microservices And Python.pdf
David Boutry - Specializes In AWS, Microservices And Python.pdfDavid Boutry - Specializes In AWS, Microservices And Python.pdf
David Boutry - Specializes In AWS, Microservices And Python.pdf
David Boutry
 
Modelling of Concrete Compressive Strength Admixed with GGBFS Using Gene Expr...
Modelling of Concrete Compressive Strength Admixed with GGBFS Using Gene Expr...Modelling of Concrete Compressive Strength Admixed with GGBFS Using Gene Expr...
Modelling of Concrete Compressive Strength Admixed with GGBFS Using Gene Expr...
Journal of Soft Computing in Civil Engineering
 
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
PawachMetharattanara
 
Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...
Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...
Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...
AI Publications
 
Water Industry Process Automation & Control Monthly May 2025
Water Industry Process Automation & Control Monthly May 2025Water Industry Process Automation & Control Monthly May 2025
Water Industry Process Automation & Control Monthly May 2025
Water Industry Process Automation & Control
 
Lecture - 7 Canals of the topic of the civil engineering
Lecture - 7  Canals of the topic of the civil engineeringLecture - 7  Canals of the topic of the civil engineering
Lecture - 7 Canals of the topic of the civil engineering
MJawadkhan1
 
Design Optimization of Reinforced Concrete Waffle Slab Using Genetic Algorithm
Design Optimization of Reinforced Concrete Waffle Slab Using Genetic AlgorithmDesign Optimization of Reinforced Concrete Waffle Slab Using Genetic Algorithm
Design Optimization of Reinforced Concrete Waffle Slab Using Genetic Algorithm
Journal of Soft Computing in Civil Engineering
 
Applications of Centroid in Structural Engineering
Applications of Centroid in Structural EngineeringApplications of Centroid in Structural Engineering
Applications of Centroid in Structural Engineering
suvrojyotihalder2006
 
Artificial intelligence and machine learning.pptx
Artificial intelligence and machine learning.pptxArtificial intelligence and machine learning.pptx
Artificial intelligence and machine learning.pptx
rakshanatarajan005
 
Transport modelling at SBB, presentation at EPFL in 2025
Transport modelling at SBB, presentation at EPFL in 2025Transport modelling at SBB, presentation at EPFL in 2025
Transport modelling at SBB, presentation at EPFL in 2025
Antonin Danalet
 
Automatic Quality Assessment for Speech and Beyond
Automatic Quality Assessment for Speech and BeyondAutomatic Quality Assessment for Speech and Beyond
Automatic Quality Assessment for Speech and Beyond
NU_I_TODALAB
 
seninarppt.pptx1bhjiikjhggghjykoirgjuyhhhjj
seninarppt.pptx1bhjiikjhggghjykoirgjuyhhhjjseninarppt.pptx1bhjiikjhggghjykoirgjuyhhhjj
seninarppt.pptx1bhjiikjhggghjykoirgjuyhhhjj
AjijahamadKhaji
 
How to Build a Desktop Weather Station Using ESP32 and E-ink Display
How to Build a Desktop Weather Station Using ESP32 and E-ink DisplayHow to Build a Desktop Weather Station Using ESP32 and E-ink Display
How to Build a Desktop Weather Station Using ESP32 and E-ink Display
CircuitDigest
 
Generative AI & Large Language Models Agents
Generative AI & Large Language Models AgentsGenerative AI & Large Language Models Agents
Generative AI & Large Language Models Agents
aasgharbee22seecs
 
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdfML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
rameshwarchintamani
 
Little Known Ways To 3 Best sites to Buy Linkedin Accounts.pdf
Little Known Ways To 3 Best sites to Buy Linkedin Accounts.pdfLittle Known Ways To 3 Best sites to Buy Linkedin Accounts.pdf
Little Known Ways To 3 Best sites to Buy Linkedin Accounts.pdf
gori42199
 
Frontend Architecture Diagram/Guide For Frontend Engineers
Frontend Architecture Diagram/Guide For Frontend EngineersFrontend Architecture Diagram/Guide For Frontend Engineers
Frontend Architecture Diagram/Guide For Frontend Engineers
Michael Hertzberg
 
sss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptx
sss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptx
sss1.pptxsss1.pptxsss1.pptxsss1.pptxsss1.pptx
ajayrm685
 
Slide share PPT of NOx control technologies.pptx
Slide share PPT of  NOx control technologies.pptxSlide share PPT of  NOx control technologies.pptx
Slide share PPT of NOx control technologies.pptx
vvsasane
 
David Boutry - Specializes In AWS, Microservices And Python.pdf
David Boutry - Specializes In AWS, Microservices And Python.pdfDavid Boutry - Specializes In AWS, Microservices And Python.pdf
David Boutry - Specializes In AWS, Microservices And Python.pdf
David Boutry
 
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
01.คุณลักษณะเฉพาะของอุปกรณ์_pagenumber.pdf
PawachMetharattanara
 
Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...
Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...
Empowering Electric Vehicle Charging Infrastructure with Renewable Energy Int...
AI Publications
 
Lecture - 7 Canals of the topic of the civil engineering
Lecture - 7  Canals of the topic of the civil engineeringLecture - 7  Canals of the topic of the civil engineering
Lecture - 7 Canals of the topic of the civil engineering
MJawadkhan1
 
Applications of Centroid in Structural Engineering
Applications of Centroid in Structural EngineeringApplications of Centroid in Structural Engineering
Applications of Centroid in Structural Engineering
suvrojyotihalder2006
 
Artificial intelligence and machine learning.pptx
Artificial intelligence and machine learning.pptxArtificial intelligence and machine learning.pptx
Artificial intelligence and machine learning.pptx
rakshanatarajan005
 
Transport modelling at SBB, presentation at EPFL in 2025
Transport modelling at SBB, presentation at EPFL in 2025Transport modelling at SBB, presentation at EPFL in 2025
Transport modelling at SBB, presentation at EPFL in 2025
Antonin Danalet
 
Automatic Quality Assessment for Speech and Beyond
Automatic Quality Assessment for Speech and BeyondAutomatic Quality Assessment for Speech and Beyond
Automatic Quality Assessment for Speech and Beyond
NU_I_TODALAB
 
seninarppt.pptx1bhjiikjhggghjykoirgjuyhhhjj
seninarppt.pptx1bhjiikjhggghjykoirgjuyhhhjjseninarppt.pptx1bhjiikjhggghjykoirgjuyhhhjj
seninarppt.pptx1bhjiikjhggghjykoirgjuyhhhjj
AjijahamadKhaji
 
How to Build a Desktop Weather Station Using ESP32 and E-ink Display
How to Build a Desktop Weather Station Using ESP32 and E-ink DisplayHow to Build a Desktop Weather Station Using ESP32 and E-ink Display
How to Build a Desktop Weather Station Using ESP32 and E-ink Display
CircuitDigest
 
Generative AI & Large Language Models Agents
Generative AI & Large Language Models AgentsGenerative AI & Large Language Models Agents
Generative AI & Large Language Models Agents
aasgharbee22seecs
 
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdfML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
ML_Unit_VI_DEEP LEARNING_Introduction to ANN.pdf
rameshwarchintamani
 
Little Known Ways To 3 Best sites to Buy Linkedin Accounts.pdf
Little Known Ways To 3 Best sites to Buy Linkedin Accounts.pdfLittle Known Ways To 3 Best sites to Buy Linkedin Accounts.pdf
Little Known Ways To 3 Best sites to Buy Linkedin Accounts.pdf
gori42199
 

Computer Engineering (Programming Language: Swift)

  • 1. Computer Engineering By Sethmi Kachchakaduge, Kevin Adams, Kimi Hirano
  • 2. Overview ● Intro ● Project Description o Building the platform o Example Code o Flappy Fly Code ● Analysis o Challenges o What we learned
  • 3. Intro to Computer Engineering ● Combines fields of electrical engineering and computer science to develop computer hardware and software ● More focus on digital systems ● Programming
  • 4. Project Description ● Created “Flappy Fly” o Version of Flappy Bird o Swift ● Programmed code o Xcode ● SpriteBuilder o Built in parts o Location control
  • 5. Building the platform ● Spritebuilder o Background o Ground o Obstacles o Hero o Nodes o Physics
  • 7. Coding Basics ● Basic Comparators (==, >, <, >=, <=) ● Basic Operators (=, +=, -=, *=, /=, %=) ● Variables ● Logic o if and else o True and False
  • 8. Example • Var flappyFly = 6 • flappyFly > 7 ‘false’ • flappyFly < 7 ‘true’ • If (flappyFly>4){ • ‘flappyFly+=1’ • } • Else { • “flappyFly does nothing” • }
  • 9. Control Flow ● For loops ● For in loops ● While loops ● Do while loops
  • 10. Flappy Fly Code ● Variable Ex o var_gameOver = false ● Function Ex ○ func spawnNewObstacle() { var prevObstaclePos = _firstObstaclePosition if _obstacles.count > 0 { prevObstaclePos = _obstacles.last!.position.x } ● For loop Ex o for ground in _grounds { // get the world position of the ground let groundWorldPosition = _physicsNode.convertToWorldSpace(ground.position // get the screen position of the ground let groundScreenPosition = self.convertToNodeSpace(groundWorldPosition) // if the left corner is one complete width off the screen, move it to the right
  • 13. Challenges ● Inserting code in proper location ● Understanding the code ● Correctly following building process
  • 14. What we learned? ● Different syntax ● Order matters ● Patience ● Simplified code

Editor's Notes

  • #6: Node = Manipulatable select box
  翻译: