Introduction to Go Programming Language at KAUST

Introduction to Go Programming Language at KAUST
Slide Note
Embed
Share

This content provides an overview of the CS240 course at KAUST focusing on Go programming language. It covers version control, local and remote versioning, collaborative work, and practical examples to understand the management of different file versions. The course emphasizes lab assignments and exams based on Go programming. Key topics include understanding version control systems, multiple version scenarios, and leveraging tools like GitHub for collaboration and version control.

  • Go Programming
  • Version Control
  • KAUST CS240
  • Remote Versioning
  • Collaborative Work

Uploaded on Mar 01, 2025 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Introduction to GO CS240 20/8/2017 1

  2. Course overview Course website: http://web.kaust.edu.sa/Faculty/MarcoCanini/classes/CS240/F17/ Piazza: https://piazza.com/kaust.edu.sa/fall2017/cs240/home Grades are based on lab assignments and exams We will use Go as the programming language for the assignments Prof. Canini is away this week; he will expand more on the class overview next week Today we will re-introduce version control and go over the basics of Go (golang) 2

  3. Version control It is a way to manage different versions or revisions of the files. Examples: Undo/redo buffers Google docs Overleaf (online Latex) Multiple versions sibyani@kaust:~$ ls assignment1-1.go assignment1-2.go assignment1- 3_work_in_progress.go 3

  4. Example: finished 1-1 finished 1-2 working 1-3 sibyani assignment1.go assignment1.go assignment1.go 4 Local Versioning

  5. finished 1-1 sibyani assignment1.go github/sibyani Remote Versioning 5

  6. finished 1-1 sibyani assignment1.go finished 1-1 github/hsibyani assignment1.go Remote Versioning 6

  7. finished 1-1 finished 1-2 working 1-3 sibyani assignment1.go assignment1.go assignment1.go finished 1-1 finished 1-2 github/hsibyani assignment1.go assignment1.go Remote Versioning 7

  8. finished 1-1 finished 1-2 working 1-3 sibyani assignment1.go assignment1.go assignment1.go finished 1-1 finished 1-2 working 1-3 github/hsibyani assignment1.go assignment1.go assignment1.go Remote Versioning 8

  9. finished 1-1 sibyani mcanini assignment1.go finished 1-1 github/team assignment1.go Collaborative Remote Versioning 9

  10. finished 1-1 finished 1-2 sibyani mcanini assignment1.go assignment1.go finished 1-1 finished 1-2 github/team assignment1.go assignment1.go Collaborative Remote Versioning 10

  11. Git Git is a version control system (not the only one) Most common commands git init: create git repository git add: add a file to be tracked in the repository https://education.github.com/pack git commit: commit the current tracked files git push: push the local files to the cloud git pull: pull the cloud files locally Start with git at: https://try.github.io 11

  12. Why Go? Simpler, cleaner, and faster programming Fast compilation Easier interface abstractions Garbage collection Concurrency as a goal source: xkcd Read more in: https://golang.org/doc/faq#Origins 12

  13. Who uses Go? and many more ... 13

  14. Installation Usually straightforward (package manager or source) apt (Ubuntu) yum/dnf (RedHat) brew (macOS) Pay special attention to environment variables You may need to make sure you configure some of them (GOPATH and GOROOT) 14

  15. Demo: Basics and declarations 15

  16. Demo: Packages 16

  17. Demo: Control flow 17

  18. Demo: Extras 18

  19. To do before next class Join Piazza Install Go Go tour up to the concurrency: https://tour.golang.org Do some exercises And if you have time: How to write Go code: https://golang.org/doc/code.html Effective Go: https://golang.org/doc/effective_go.html 19

More Related Content