I was making a beginner’s mistake. I was not defining the global variable post. I publish my complete code for the community. May be useful for something like me.
<?php
add_action( 'genesis_after_entry', 'capitulos_curso' );
function capitulos_curso(){
global $post;
$args = array(
'post_type' => 'curso',
'posts_per_page' => -1,
'post_parent' => $post->ID,
'order' => 'ASC',
'orderby' => 'menu_order'
);
$parent = new WP_Query( $args );
?>
<?php if ( $parent->have_posts() ) : ?>
<ul class="parent-page">
<?php while ( $parent->have_posts() ) : $parent->the_post(); ?>
<li><a href="https://wordpress.stackexchange.com/questions/307989/<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
</ul>
<?php endwhile; ?>
<?php endif; wp_reset_postdata();} ?>
<?php
genesis();