Skip to content

Commit 5bfe567

Browse files
committed
changes per US small group
1 parent 6ac2fea commit 5bfe567

File tree

1 file changed

+26
-23
lines changed

1 file changed

+26
-23
lines changed

sources/modules/external/graphical-user-interfaces.md

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ _Specifies the different levels of teaching._
1111
------------------------------------------------------------------------
1212
Level Objective
1313
----------------- ------------------------------------------------------
14-
Foundational: Basic us of desktop graphical user interfaces
14+
Foundational: Basic use of desktop graphical user interfaces
1515

1616
Main: Different forms of IO and accessibility
1717

@@ -24,7 +24,7 @@ Advanced: Internationalization and customization
2424
_Why is this important?_
2525
_Why do we want to learn/teach this topic?_
2626

27-
For some applications a graphical user interface is beneficial. However, graphical user interfaces are not part of the C++ standard and external libraries are needed. We provide generic teaching goals and do not focus on a specific external library. Some mentionable libraries are: [Qt](https://www.qt.io/), [Cairo](https://www.cairographics.org/), and [wxWidgets](https://www.wxwidgets.org/).
27+
For some applications a graphical user interface is beneficial. However, graphical user interfaces are not part of the C++ standard and external libraries are needed. We provide generic teaching goals and do not focus on a specific external library. Some mentionable platform-independent libraries are [Qt](https://www.qt.io/) and [wxWidgets](https://www.wxwidgets.org/) for interface development or [Cairo](https://www.cairographics.org/) and [OpenGL](https://www.opengl.org/) for graphics.
2828

2929
### Topic introduction
3030

@@ -36,9 +36,9 @@ _Very brief introduction to the topic._
3636

3737
A student:
3838

39-
1. should know linking libraries
40-
2. should know [header files](../compilation-model/headers.md)
41-
3. should know about [build systems](../compilation-model/buildsystems.md)
39+
1. should have a foundational knowledge of [linkage](../compilation-model/linkage.md)
40+
2. should have a foundational knowledge of [header files](../compilation-model/headers.md)
41+
3. should have a foundational knowledge of [build systems](../compilation-model/buildsystems.md)
4242

4343
#### Student outcomes
4444

@@ -48,32 +48,31 @@ _Max 5 items._
4848

4949
A student should be able to:
5050

51-
1. link against the external library
52-
2. write an application with one window
53-
3. add simple widgets like text boxes and buttons to the window
54-
4. catch events of buttons or other elements
55-
5. explain the mechanics of event-driven programming
51+
1. write an application with one window
52+
2. add simple widgets like text boxes and buttons to the window
53+
3. respond to events of buttons or other widgets
54+
4. explain the mechanics of event-driven programming
5655

5756
#### Points to cover
5857

5958
* use basic API functions
6059
* layout of the window
61-
* handle events by callbacks
60+
* handle events by callbacks
6261

6362
#### Caveats
6463

6564
_This section mentions subtle points to understand, like anything resulting in
6665
implementation-defined, unspecified, or undefined behavior._
6766

68-
* programming user interfaces in C++ and in general require plenty of boiler plate code
67+
* programming user interfaces in C++ and in general require significant boiler plate code
6968
* API calls are specific to one library and might not be transferable to other libraries
70-
* Some libraries are written in C
69+
* some libraries are written in C or other languages
7170

72-
### Main: Different forms of IO and accessibility
71+
### Main: Different forms of I/O and accessibility
7372

7473
#### Background/Required Knowledge
7574

76-
* All of the above.
75+
* all of the above
7776

7877
#### Student outcomes
7978

@@ -82,23 +81,27 @@ A student should be able to:
8281
1. add more advanced elements, like tables or images
8382
2. handle multiple windows
8483
3. show error and warning popups
85-
4. use different forms of IO, like keyboard, mouse, or touch pad
86-
5. explain basic of fonts and accessibility
84+
4. use different forms of input and output (I/O), such as keyboard, mouse, or touch pad
85+
5. explain basics of fonts and accessibility
8786

8887
#### Caveats
8988

90-
* programming user interfaces is rather complex and might not applicable for most students
89+
* programming user interfaces is rather complex and might not be applicable for most students
9190

9291
#### Points to cover
9392

94-
* More advanced API calls and design patterns
93+
* more advanced API calls and design patterns
94+
* modal vs non-modal dialogs
9595

9696
### Advanced: Technicalities and tools
9797

9898
_These are important topics that are not expected to be covered but provide
9999
guidance where one can continue to investigate this topic in more depth._
100100

101-
* Internationalization
102-
* Font designers
103-
* Hardware acceleration
104-
* Custom widget generation
101+
* internationalization
102+
* font designers
103+
* hardware acceleration
104+
* custom widget generation
105+
* event-driven programming using non-UI elements, such as timers or sockets
106+
* multi-threaded user interface development
107+

0 commit comments

Comments
 (0)